2009-06-09 101 views
0

下面是代碼我迄今:如何導入Java中的目錄(和子目錄)列表?

​​

在這一點上,它會從存儲目錄C的所有* .java文件的列表:\ 1.3 \字符串數組文件名中 。然而,我想存儲所有的java文件的列表也存在子目錄(最好與他們的路徑在C:\ 1.3 \指定也。我該怎麼去做這件事?謝謝!

回答

1

據我所知,你將不得不手動(遞歸),即你將不得不打電話列表(過濾器)的所有子目錄的C:\ 1.3 \,等等......

3

恐怕你不能用list(FilenameFilter)方法做到這一點你必須列出所有的文件和目錄,然後執行過濾自己事情是這樣的:。

public List<File> getFiles(File dir, FilenameFilter filter) { 
    List<File> ret = new ArrayList<File>(); 
    for (File f : dir.listFiles()) { 
     if (f.isDirectory()) { 
      ret.addAll(getFiles(f, filter)); 
     } else if (filter.accept(dir, f.getName())) { 
      ret.add(f); 
     } 
    } 
    return ret; 
}