我正在设备的内部存储器中创建一个目录,用于存储供应用程序使用的文件。我正在使用:
File dir = context.getDir(userfavorites, Context.MODE_PRIVATE);
如果目录不存在,上面的代码将创建一个新目录,或者如果已经创建了目录,则返回现有的文件对象。我想检查的是该目录包含的文件的编号和名称。如何使用这个文件对象来完成这个任务。
注意:我不想使用设备的外部存储器。我也不能避免创建目录,因为目录中的文件必须与目录中不存在的其他文件分开。
更新代码:
private static boolean IsFoldercontainsFiles(Context context) {
// TODO Auto-generated method stub
File dir = context.getDir(USER_FAV, Context.MODE_PRIVATE);
if (dir.exists()) {
if (dir.listFiles() == null){
return false;} //it never execute this line even though its null
else{
File childfile[] = dir.listFiles();
Log.i("file no is ", Integer.toString(childfile.length));
if (childfile.length == 0) {
return false;
} else {
return true;
}
}
} else {
return false;
}
}
提前致谢
答案 0 :(得分:10)
答案 1 :(得分:9)
File file=new File("/mnt/sdcard/yourfolder");
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++;
System.out.println("170 " + count);
}
答案 2 :(得分:5)
试试这个
File childfile[] = dir .listFiles();
for (File file2 : childfile) {
Log.v("file name is ", file2.getName());
}
这里listFiles()返回“dir”的所有子文件,迭代这将帮助你获取子文件的名称
答案 3 :(得分:0)
简单:
File dir = new File(path); // "/mnt/sdcard/yourfolder"
long totalNumFiles = dir.listFiles().length;
答案 4 :(得分:0)
尝试此代码示例以获取目录中的文件数量
private int getNumberOfFiles() throws FileNotFoundException {
File outFile = new File(outFolder);
if (!outFile.exists())throw new FileNotFoundException();
int numberofFiles = outFile.listFiles(new FileFilter() {
@Override
public boolean accept(File file) {
return (file.getPath().startsWith("frame_")&&(file.getPath().endsWith(".jpg")||file.getPath().endsWith(".jpeg")));
}
}).length;
return numberofFiles;
}
答案 5 :(得分:0)