簡體   English   中英

獲取sdcard文件夾中可用的總媒體文件數?

[英]Get count of total media file available in sdcard folder?

如何在sdcard / some /文件夾中獲取可用媒體文件的總數,其中應包括音頻,圖像,視頻。

我覺得這樣

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++;
}

也許您應該編寫一個像這樣的簡單遞歸方法:

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

好了,您可以簡單地檢查文件的類型是否與常見的媒體類型相對應

     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 = new File("DIRECTORY_NAME");
File[] fileslist = file.listFiles(new MyMediaFileFilter());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM