Android如何检查目录中的文件数

Ans*_*hul 7 android android-file

我正在设备的内部存储器中创建一个目录,用于存储供应用程序使用的文件.我正在使用:

File dir = context.getDir(userfavorites, Context.MODE_PRIVATE);
Run Code Online (Sandbox Code Playgroud)

如果目录不存在,上面的代码将创建一个新目录,如果已经创建了目录,则返回现有文件对象.我想检查的是该目录包含的文件的编号和名称.如何使用此文件对象完成这项任务.

注意:我不想使用设备的外部存储器.我也不能避免创建目录,因为目录中的文件必须与不在目录中的其他文件分开.

更新的代码:

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;
        }
    }
Run Code Online (Sandbox Code Playgroud)

提前致谢

Raj*_*esh 10

检查listFiles方法File,将为您提供子项列表.


Roa*_*ies 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);
        }
Run Code Online (Sandbox Code Playgroud)


G_S*_*G_S 5

试试这个

File childfile[] = dir .listFiles();
for (File file2 : childfile) {
    Log.v("file name is ", file2.getName());
}
Run Code Online (Sandbox Code Playgroud)

这里listFiles()返回"dir"的所有子文件,迭代这将帮助你获取子文件的名称