using System.Collections.Generic;
using System.IO;namespaceXuLiChuoi{classEnDeCodeDirInfo{public string encode(string path){if(System.IO.Directory.Exists(path)){
string kq ="$";
IEnumerable<string> enums = Directory.EnumerateDirectories(path);
List<string> dirs =newList<string>(enums);
DirectoryInfo dirInfo =newDirectoryInfo(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!";}}}