输入某个文件夹名称,打印出这个文件夹下的文件目录树
c:\a
|---1.txt
|---2.txt
|---abc
|---a.txt
|---b.txt
|---xyz
|---start.txt
|---t.txt
|---我的目录
|---这个貌似要用递归算法啊 可是不会啊 麻烦各位讲讲 或者给我个代码 让我参考一下 谢谢了
c:\a
|---1.txt
|---2.txt
|---abc
|---a.txt
|---b.txt
|---xyz
|---start.txt
|---t.txt
|---我的目录
|---这个貌似要用递归算法啊 可是不会啊 麻烦各位讲讲 或者给我个代码 让我参考一下 谢谢了
import java.io.File;
import java.io.FileFilter;public class MyFileTree { public static void main(String[] args) { MyFileTree tree = new MyFileTree();
tree.printFile(new File("c:/windows/system32"), 0); }
public void printFile(File f, int indent) { if (f.isFile()) {
for (int i = 0; i < indent; i++) {
System.out.print(" ");
}
System.out.print(f.getName());
System.out.println();
} else if (f.isDirectory()) {
for (int i = 0; i < indent; i++) {
System.out.print(" ");
}
System.out.print("[" + f.getName() + "]");
System.out.println(); File[] listFiles = f.listFiles(new FileFilter() {
public boolean accept(File f) {
if (f.isDirectory())
return true;
if (f.getName().length() > 4
&& f.getName().substring(f.getName().length() - 4)
.equalsIgnoreCase(".dll")) {
return true;
}
return false;
}
});
for (int i = 0; i < listFiles.length; i++) {
printFile(listFiles[i], indent + 1);
} } else {
System.out.println("ERROR!");
} }}
Files[] files = f.listFiles();
for(int i = 0, l = files.length; i < l; i++){
File f1 = files[i];
}
//FileFilter是一个对文件的过滤器,你这里不用过滤,直接删了这段就行
import java.io.File;
import java.io.FileFilter;public class MyFileTree { public static void main(String[] args) { MyFileTree tree = new MyFileTree();
tree.printFile(new File("c:/windows/system32"), 0); }
public void printFile(File f, int indent) { if (f.isFile()) {
for (int i = 0; i < indent; i++) {
System.out.print(" ");
}
System.out.print(f.getName());
System.out.println();
} else if (f.isDirectory()) {
for (int i = 0; i < indent; i++) {
System.out.print(" ");
}
System.out.print("[" + f.getName() + "]");
System.out.println(); File[] listFiles = f.listFiles();
for (int i = 0; i < listFiles.length; i++) {
printFile(listFiles[i], indent + 1);
} } else {
System.out.println("ERROR!");
} }}