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 enums = Directory.EnumerateDirectories(path); List dirs = new List(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!"; } } }