同学去面试遇到这样一个问题手写递归D盘,然后我就上网找了找,找到一个相对来说比较容易理解的
发来大家看看
1 public class DirectoryList 2 {/*利用静态数据来存储文件路径列表*/ 3 //存储目录 4 private static ArrayList directoryList=new ArrayList(); 5 pubic static ArrayList DirectoryList 6 { 7 get { return DirectoryList.directorylist}; 8 set {directorylist.directorylist=value}; 9 } 10 //存储文件路径 11 private static ArrayList fileList=new ArrayList(); 12 public static ArrayList Filelist 13 { 14 get {return directorylist.filelist}; 15 set {directorylist.filelist=value}; 16 } 17 //fangfa 18 public static void GetDIrectory(string sourcePath) 19 { 20 //判断源文件夹是否存在文件 21 if(directory.exits(sourcepath)) 22 { 23 string[] temp=directory.getfilesystementries(sourcepath); 24 for(int i=0;i<temp.length;i++) 25 { 26 if(file.exits(temp[i])) 27 { 28 filelist.add(temp[i]); 29 } 30 else 31 { 32 // 33 if(directory.getdirectories(temp[i]).length==0) 34 { 35 directorylist.add(temp[i]); 36 } 37 } 38 39 //digui 40 GetDirectory(temp[i]) 41 } 42 } 43 44 } 45 46 }