0

オーディオ、画像、ビデオを含む必要があるsdcard /some/フォルダ内の利用可能なメディアファイルの総数を取得するにはどうすればよいですか。

4

3 に答える 3

1

私はこのようなことを考えます

File file=new File("/sdcard/domedir");
File[] list = file.listFiles();
int count = 0;
for (File f: list){
    String name = f.getName();
    if (name.endsWith(".jpg") || name.endsWith(".mp3") || name.endsWith(".some media extention"))
       count++;
}
于 2012-11-19T11:05:24.007 に答える
0

ファイルの種類が一般的なメディアの種類に対応しているかどうかを簡単に確認できます

     static class MyDocFileFilter implements FileFilter{
          private final String[] myDocumentExtensions 
                    = new String[] {".java", ".png", ".avi", ".mkv"};

          public boolean accept(File file) {

                  if (!file.isFile())   return false;

                  for (String extension : myDocumentExtensions) {
                         if (file.getName().toLowerCase().endsWith(extension))
                                  return true;
           }
           return false;
    }
}

次に、File を使用して、フィルターを使用して必要なすべてのファイルを一覧表示します。それに応じて拡張子を変更します

File file = new File("DIRECTORY_NAME");
File[] fileslist = file.listFiles(new MyMediaFileFilter());
于 2012-11-19T11:17:58.957 に答える
0

おそらく、次のような単純な再帰メソッドを作成する必要があります。

public int countFile(String path) {
    int count = 0;
    File f = new File(path);
    if (f.exists() && f.isDirectory()) {

        for (File fi : f.listFiles()) {
            if (fi.isDirectory())
                count += countFile(fi.getAbsolutePath());
            else
                count++;
        }
    }
    return count;
}
于 2012-11-19T11:06:47.653 に答える