【发布时间】:2015-12-17 08:59:54
【问题描述】:
所以我在“mnt/sdcard/folder”有一个文件夹,里面装满了图像文件。我希望能够扫描文件夹,并为文件夹中的每个文件将每个文件路径放在一个数组列表中。有没有简单的方法可以做到这一点?
【问题讨论】:
所以我在“mnt/sdcard/folder”有一个文件夹,里面装满了图像文件。我希望能够扫描文件夹,并为文件夹中的每个文件将每个文件路径放在一个数组列表中。有没有简单的方法可以做到这一点?
【问题讨论】:
你可以使用
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)。
【讨论】:
是的,您可以将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);
当我看到这种技术时,我感到非常惊讶,因为它非常易于使用并且代码可读。
【讨论】: