-3

我想制作一个可以计算文件夹及其子文件夹中图像数量的应用程序。任何帮助将不胜感激!

4

1 回答 1

4

这是使用 FileFilter 和 File.listFiles() 进行的简单图形搜索。你去:

private ArrayList<File> listFiles(String folder) {
    ArrayList<File> files = new ArrayList<File>();
    files.add(new File(folder));
    return listFiles(files);
}

private ArrayList<File> listFiles(ArrayList<File> files) {
    ArrayList<File> result = new ArrayList<File>();

    for (int i = 0; i < files.size(); i++) {
        if (files.get(i).isDirectory()) {
            File file = files.get(i);
            files.remove(i);
            File[] files2 = file.listFiles(filter);
            if (files2 == null)
                continue;
            ArrayList<File> f = new ArrayList<File>();
            for (int j = 0; j < files2.length; j++) {
                f.add(files2[j]);
            }
            result.addAll(listFiles(f));
        } else {
            result.add(files.get(i));
        }
    }

    return result;
}

FileFilter filter = new FileFilter() {

    @Override
    public boolean accept(File arg0) {
        return arg0.getName().endsWith(".jpg") || arg0.getName().endsWith(".bmp")
                || arg0.getName().endsWith(".png") || arg0.isDirectory();
    }

};
于 2013-03-15T14:36:46.430 回答