目录存在于手机上,但directory.exists()返回'false'

时间:2015-02-20 09:14:55

标签: java android file-io

在我的应用程序中,我想在外部存储上为我的应用程序创建一个文件夹和一个子文件夹。 我还在应用程序启动时检查这些目录是否存在。 如果没有,我创建它们。

我遇到的问题是,对于第一个文件夹externalAppDirectory.exists()返回 true ,对于子文件夹,它会返回 false 。 两个文件夹都存在于外部存储器中。

这是我的代码:

private File getModuleDirectory() {
    File moduleDirectory = null;
    if (isExternalStorageReadable()) {
        File externalAppDirectory = new File(Environment.getExternalStorageDirectory(), "FallDetector");
        if (!externalAppDirectory.exists()) {
            if (isExternalStorageWritable()) {
                externalAppDirectory.mkdir();
                Log.d(TAG, "Created external app directory '" + externalAppDirectory.getName() + "'.");
            } else
                Log.d(TAG, "External storage not writable.");
        }
        moduleDirectory = new File(externalAppDirectory, "Modules");
        Log.d(TAG, "Is directory? " + moduleDirectory.isDirectory());
        if (!moduleDirectory.exists()) {
            if (isExternalStorageWritable()) {
                boolean isDirectoryMade = moduleDirectory.mkdir();
                Log.d(TAG, "Created '" + moduleDirectory.getName() + "' directory: " + isDirectoryMade + ".");
            } else
                Log.d(TAG, "External storage not writable.");
        }
    } else
        Log.d(TAG, "External storage not readable.");

    return moduleDirectory;
}

这是简短的logcat:

D/ModuleLoader﹕ Is directory? false
D/ModuleLoader﹕ Created 'Modules' directory: false.

方法返回调用的moduleDirectory路径为/storage/emulated/0/FallDetector/Modules

有没有人知道我的问题在哪里?

0 个答案:

没有答案