[英]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.