2013-03-15 2 views
-2

Je souhaite créer une application capable de compter le nombre d'images dans un dossier et son sous-dossier. Toute aide serait grandement appréciée!Android Count no. d'images dans un dossier et son sous-dossier

+2

d'abord essayer vous-même ... –

+0

Ouais, ne traitez pas SO comme vos pigistes de codage travaillant gratuitement. Et vous avez une bonne réponse, pourquoi ne pas l'accepter? – Siddharth

+0

@Siddharth Je l'ai fait le 16 mars, c'est pourquoi je ne l'ai pas vérifié. –

Répondre

4

Il s'agit d'une simple recherche de graphique avec FileFilter et File.listFiles(). Et voilà:

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

}; 
Questions connexes