很经典的一道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);
}
}