如何查看File对象是否是/ data / {/}中的/ data / user / 0 / [package_name] / files /中的目录

时间:2017-10-17 22:57:59

标签: android file android-permissions

我有一个非空的文件夹" / foo"在/ data / user / 0 / [package_name] /文件下我用来从服务下载文件。当我在做的时候:

File sourceFolder = new File("/data/user/0/[package_name]/files/foo");
if(sourceFolder.isDirectory())
    FileUtility.deleteFile(sourceFolder);

无法识别sourceFolder是现有目录。因此不会进入if语句。我的清单权限是:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

是的,我明确要求使用外部存储的读写权限:

this.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
                && this.checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)

我不确定为什么它无法识别提供的路径是现有目录。

1 个答案:

答案 0 :(得分:0)

  

我在/ data / user / 0 / [package_name] / files

下有一个非空文件夹“/ foo”

所以这个:

File sourceFolder = new File("/data/user/0/[package_name]/foo");

应该是这样的:

File sourceFolder = new File("/data/user/0/[package_name]/files/foo");