using System.Collections.Generic;
using System.IO;
namespace XuLiChuoi
{
class EnDeCodeDirInfo
{
public string encode(string path)
{
if (System.IO.Directory.Exists(path))
{
string kq = "$";
IEnumerable<string> enums = Directory.EnumerateDirectories(path);
List<string> dirs = new List<string>(enums);
DirectoryInfo dirInfo = new DirectoryInfo(path);
FileInfo[] file = dirInfo.GetFiles();
int sl = dirs.Count + file.Length;
kq += sl.ToString() + ";";
foreach (var dir in dirs)
{
kq += dir.Replace(path + "\\", "") + ";0;";
}
for (int i = 0; i < file.Length; i++)
{
kq += file[i].FullName.Replace(path + "\\", "") + ";1;";
}
kq = kq.Substring(0, kq.Length - 1);
kq += "#";
return kq;
}
return "Đường dẫn không tồn tại.";
}
public string decode(string S)
{
if (S.Length != 0)
{
string kq = "";
if (S[0] == '$' && S[1] != '#')
{
int sl = int.Parse(S[1].ToString());
kq += "\nTổng Folder và File là: " + sl.ToString();
int l = S.Length;
string s = S.Substring(3, l - 4);
string[] temp = s.Split(";");
int i = 0;
kq += "\n------------------";
kq += "\nDanh sách Folder:";
while (i < temp.Length - 1)
{
if (temp[i + 1] == "0") kq += "\n" + temp[i];
else
{
kq += "\n------------------";
kq += "\nDanh sách File:";
break;
}
i += 2;
}
while (i < temp.Length - 1)
{
if (temp[i + 1] == "1")
kq += "\n" + temp[i];
i += 2;
}
}
if (kq == "")
return "Không có thư mục/file nào.";
return kq;
}
return "Chuỗi sai định dạng!";
}
}
}