1:代码如下,思路:递归调用
public static void showAllFile(File file,int length){
String string = "----------------------------------------";
ArrayList<File> arrayList = new ArrayList<File>();
if(!file.exists()){
System.out.println("文件不存在");
return ;
}
if(file.isDirectory()){
if(length==0){
System.out.println("文件夹:" + file.getName());
}else{
System.out.println(string.substring(0,length) + file.getParentFile().getName() + "~~子文件夹:" + file.getName());
}
File[] files = file.listFiles();
if(files ==null || files.length ==0){
return;
}
for(File subFile : files){
if(subFile.isDirectory()){
arrayList.add(subFile);
}else{
System.out.println(string.substring(0,length+4) + subFile.getName());
}
}
System.out.println();
if(arrayList.size() >0){
for (File subFile:arrayList) {
System.out.println();
showAllFile(subFile,length+4);
}
}
}else{
System.out.println(string.substring(0,length)+file.getName());
}
}