2

我有后续的麻烦。我的应用程序应该读取文件列表并向用户显示它们的名称。当应用程序第一次启动时,我需要为应用程序创建一个特定的文件夹?那我如何检查它是否为空?

4

2 回答 2

5

假设您在内部存储中创建了目录,您可以像这样获取目录中子对象的数量

File dir = context.getDir("somePath", Context.MODE_PRIVATE);
File[] children = dir.listFiles();
if(children.length > 0)
{
    // the directory is not empty
}
else
{
    // the directory is empty.
}

这只是一个快速示例代码。更好的方法是使用自定义排除 self 和 parent 别名FileFilterwith dir.listFiles(),因为我不确定它们是否会始终从结果列表中排除。

于 2013-03-06T16:57:47.733 回答
2

下面的代码将检查一个文件夹是否已经存在,如果不存在,则创建一个,如果创建一个错误,则会警告您:

    // check if appfolder is created and if not through an
    // exception
    File path = new File("yourDir");
    if (!path.exists()) {
        if (!path.mkdirs()) {
            try {
                throw new IOException(
                        "Application folder can not be created. Please check if your memory is writable and healthy and then try again.");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return false;
        }
    } else {
        Log.i("app", "directory is: " + path.getPath());
    }

exists()检查路径是否存在并path.exists()简单地为您创建一个。

于 2013-03-06T16:53:35.040 回答