Java:单行列表目录中的Dirs?

时间:2010-04-02 19:11:37

标签: java directory

One-Liner列出TXT文件。

import java.io.File;
import java.io.FilenameFilter;
...
files = dir.listFiles(new FilenameFilter() {
           public boolean accept(File dir, String name) {
                return name.toLowerCase().endsWith(".txt");
                }
           }
        );

Source.

是否有一个单行列表在目录中列出dirs?

3 个答案:

答案 0 :(得分:5)

public static void main (String[] args)  throws Exception {
    File dir = new File("yourDir");

    FileFilter fileFilter = new FileFilter() {
        public boolean accept(File file) {
            return file.isDirectory();
        }
    };

    File[] files  = dir.listFiles(fileFilter);

    for (File f : files)
        System.out.println( f.getName() );
}

答案 1 :(得分:4)

这使用Commons IO,但实际上是列出所有目录名称的最简单方法。它还有一套更强大的过滤器,可用于其他目的:

String[] dirNames = new File("/Users/jonathan").list(DirectoryFileFilter.INSTANCE);
for (String dirName: dirNames) 
    System.out.println("Directory Name: " + dirName);

答案 2 :(得分:3)

import java.io.File;
import java.io.FileFilter;
...
files = dir.listFiles(new FileFilter() { 
       public boolean accept(File pathname) { 
            return pathname.isDirectory();
       } 
    });

请注意使用listFiles(FileFilter)而不是listFiles(FilenameFilter)