我有一个文件夹位于"mnt/sdcard/folder",里面装满了图像文件。我想要扫描这个文件夹,并将该文件夹中每个文件路径放入ArrayList中。是否有一种简单的方法来完成此操作?
您可以使用
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);
当我看到这个技巧时,我感到非常惊讶,因为它非常容易使用并且可以产生可读性强的代码。