当前位置: 代码迷 >> J2SE >> 急用 麻烦各位进来看看解决方法
  详细解决方案

急用 麻烦各位进来看看解决方法

热度:331   发布时间:2016-04-24 02:19:27.0
急用 麻烦各位进来看看
输入某个文件夹名称,打印出这个文件夹下的文件目录树
c:\a
  |---1.txt
  |---2.txt
  |---abc
  |---a.txt
  |---b.txt
  |---xyz
  |---start.txt
  |---t.txt
  |---我的目录
  |---



这个貌似要用递归算法啊 可是不会啊 麻烦各位讲讲 或者给我个代码 让我参考一下 谢谢了

------解决方案--------------------
Java code
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!");  } }}
------解决方案--------------------
File f = new File(path);
Files[] files = f.listFiles();
for(int i = 0, l = files.length; i < l; i++){
File f1 = files[i];
}
  相关解决方案