遞迴-簡單例項
阿新 • • 發佈:2019-01-25
需求:遍歷一個資料夾下的所有資料夾和檔案,全部存放到resultList中
/**
* 不體現層級關係
*/
@Test
public void testRecursion(){
String path = "E:\\testRecursion";
File file = new File(path); //獲取file物件
List<File> resultList = getFiles(file,new ArrayList<>());
System.out.println(resultList);
}
public List<File> getFiles(File file,List<File> result){
File[] fs = file.listFiles();
if(fs.length!=0){
for(int i=0;i<fs.length;i++){
result.add(fs[i]);
if(fs[i].isDirectory()){
getFiles(fs[i],result);
}
}
}else {
return null;
}
return result;
}
輸出結果:
[E:\testRecursion\test1, E:\testRecursion\test1\test11, E:\testRecursion\test1\test11\test111.txt, E:\testRecursion\test2.txt]