很經典的一道IO流題目。是我第一次在JAVA實作遞歸。
import java.awt.List;
import java.io.File;
import java.util.*;
public class Filediguitext {
public static ArrayList<File> getAllFiles(String dir){
ArrayList<File> files=new ArrayList<File>();
File file =new File(dir);
if(file.exists()&&file.isDirectory()){
digui(file,files);
}
return files;
}
private static void digui(File file, ArrayList<File> files) {
File[] files2 = file.listFiles();
if(files2==null){
return;
}
for (File file2 : files2) {
files.add(file2);
digui(file2, files);//對參數file再一次“檢測” 如果是檔案夾(files2!=null)就在來一遍digui()
}
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("請輸入想要遞歸的檔案夾路徑");
String Dir = input.next();
new Filedigui().getAllFiles(Dir);
}
}