一个标准的递归问题。
============================================================
import java.io.File;
public class ListFile {
public static void main(String[] args) {
ListFile l = new ListFile();
l.recursivePrint(new File((String) System.getProperty("user.dir")), 0);
return;
}
public void recursivePrint(File f, int indent) {
StringBuffer buf = new StringBuffer();
for (int i = 0; i < indent; i++) {
buf.append(" ");
}
System.out.println(buf + f.getName());
if (f.isDirectory()) {
File[] children = f.listFiles();
for (int i = 0; i < children.length; i++) {
recursivePrint(children[i], indent + 1);
}
}
}
}
============================================================
import java.io.File;
public class ListFile {
public static void main(String[] args) {
ListFile l = new ListFile();
l.recursivePrint(new File((String) System.getProperty("user.dir")), 0);
return;
}
public void recursivePrint(File f, int indent) {
StringBuffer buf = new StringBuffer();
for (int i = 0; i < indent; i++) {
buf.append(" ");
}
System.out.println(buf + f.getName());
if (f.isDirectory()) {
File[] children = f.listFiles();
for (int i = 0; i < children.length; i++) {
recursivePrint(children[i], indent + 1);
}
}
}
}