列出目录下的所有文件
1.listFiles() 列出目录下的所有文件
2.递归调用
package com.gc.design.single;
import java.io.File;
public class EncodDemo {
public static void main(String[] args) {
File file = new File("d:\\temp");
listAll(file,0);
}
private static void listAll(File dir, int level) {
System.out.println(getLevel(level)+dir.getName());
level++;
File[] files = dir.listFiles();
for(File file : files) {
if(file.isDirectory()) {
listAll(file,level);//recurse
}else {
System.out.println(getLevel(level)+file.getName());
}
}
}
private static String getLevel(int level) {
StringBuilder builder = new StringBuilder();
builder.append("|--");
for(int i=0;i<level;i++)
builder.insert(0, "| ");
return builder.toString();
}
}
|--temp
| |--1
| | |--2
| | | |--3
| | | | |--1.txt
| | | |--4
| |--x.java
| |--1
| | |--2
| | | |--3
| | | | |--1.txt
| | | |--4
| |--x.java