2013-03-15 77 views
-2

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

+2

先试试吧...... – 2013-03-15 14:37:38

+0

是啊,不要把SO当作你的编码自由职业者工作免费。你有一个很好的答案,为什么不接受它? – Siddharth 2013-06-13 17:41:43

+0

@Siddharth我已经在3月16日完成了,这就是为什么我没有检查它。 – 2013-06-14 06:00:08

回答

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(); 
    } 

}; 
相关问题