所以我在“mnt / sdcard / folder”中有一个文件夹,其中包含图像文件。我希望能够扫描文件夹以及文件夹中的每个文件,将每个文件路径放在arraylist中。有一个简单的方法吗?
答案 0 :(得分:15)
您可以使用
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
)。
答案 1 :(得分: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);
当我看到这种技术时,我感到非常惊讶,因为它非常易于使用并且可以实现可读代码。