在安卓中扫描文件夹以获取文件路径

10

我有一个文件夹位于"mnt/sdcard/folder",里面装满了图像文件。我想要扫描这个文件夹,并将该文件夹中每个文件路径放入ArrayList中。是否有一种简单的方法来完成此操作?

2个回答

16

您可以使用

List<String> paths = new ArrayList<String>();
File directory = new File("/mnt/sdcard/folder");

File[] files = directory.listFiles();

for (int i = 0; i < files.length; ++i) {
    paths.add(files[i].getAbsolutePath());
}

参见 File 类中的 listFiles() 方法变体(一个空,一个使用 FileFilter,一个使用 FilenameFilter)。


12

是的,你可以使用java.io.File API 和 FileFilter

File dir = new File(path);
FileFilter filter = new FileFilter() {
    @Override
    public boolean accept(File file) {
        return file.getAbsolutePath().matches(".*\\.png");
    }
};
File[] images = dir.listFiles(filter);

当我看到这个技巧时,我感到非常惊讶,因为它非常容易使用并且可以产生可读性强的代码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接