从键盘接收一个文件夹路径,把文件夹中的所有文件以及文件夹的名字按层级打印
例如:
aaa是文件夹,里面有bbb.txt,ccc.txt,ddd.txt这些文件,有eee这样的文件夹,eee中有fff.txt和ggg.txt,打印出层级来
aaa
bbb.txt
ccc.txt
ddd.txt
eee
fff.txt
例如:
aaa是文件夹,里面有bbb.txt,ccc.txt,ddd.txt这些文件,有eee这样的文件夹,eee中有fff.txt和ggg.txt,打印出层级来
aaa
bbb.txt
ccc.txt
ddd.txt
eee
fff.txt
ggg.txt
public static void main(String[] args) {
File dir = getDir();
printDir(dir,"");
}
private static void printDir(File dir, String s) {
System.out.println(s+dir.getName());
s = s + " ";
File[] files = dir.listFiles();
for(File f : files){
if(f.isFile())
System.out.println(s+f.getName());
else
printDir(f,s);
}
}
private static File getDir() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个文件夹路径:");
String str = "";
while(true){
str = sc.nextLine();
File f = new File(str);
if(!f.exists()){
}else if(f.isFile()){
}else{
return f;
}
}
}