android,如何获取目录列表?

Rog*_*ger 18 java android

只是一个简单的问题,如何获取指定目录中的目录列表.

例如,

String path = Environment.getExternalStorageDirectory().toString()+"/myApp/";
Run Code Online (Sandbox Code Playgroud)

现在我需要获取"path"目录中的目录列表.

谢谢!

MBy*_*ByD 42

像这样的东西(添加空检查,例外等..)

File f = new File(path);
File[] files = f.listFiles();
for (File inFile : files) {
    if (inFile.isDirectory()) {
        // is directory
    }
}
Run Code Online (Sandbox Code Playgroud)


Dav*_*ias 13

我知道这已经得到了解答,但我注意到它缺少另一个,可以说是更简单的选择.所以我将它包括在内以备将来参考.

File myDirectory = new File("path to some directory");
File[] directories = myDirectory.listFiles(new FileFilter() {
    @Override
    public boolean accept(File pathname) {
        return pathname.isDirectory();
    }
});
Run Code Online (Sandbox Code Playgroud)

此代码可以节省您使用for循环的时间.

  • 这在 Java 8 中特别有用,在 Java 8 中可以简单地编写`文件目录 [] = new File("some/path").listFiles(File::isDirectory);` (2认同)

Kal*_*Kal 5

File[] files = new File(path).listFiles();
for ( File aFile : files ) 
     if ( aFile.isDirectory() ) {
          // so on
Run Code Online (Sandbox Code Playgroud)

这里有 Android File API参考