ListFile()只能得到一层
可用递归 递归就是在方法里再调用方法自己 执行时候会逐层打开新的方法体,直到最后一个结束然后逐层返回到第一个 但是消耗空间大。
import java.io.File;
import java.util.Scanner;
public class FileDemo {
public void test(File f) {
if(f.isFile()) {
System.out.println("路径"+f.getName());
return ;
}
if(f.isDirectory()) {
File [] f1=f.listFiles();//获取文件数组
if(f1!=null) {
for (File file : f1) {
this.test(file);//递归调用
}
}
}
}
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("请输入路径");
String s=in.next();
File f=new File(s);
FileDemo f1=new FileDemo();
f1.test(f);
}
}