-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 に答える