【发布时间】:2014-04-04 01:52:07
【问题描述】:
我正在尝试访问我的 Android 手机中的文件,并使用以下代码:
final File folder = new File("/storage/sdcard0/");
for (final String fileEntry : folder.list()) {
System.out.println(fileEntry);
}
它在 list() 函数上抛出一个空指针,这意味着它不是文件/目录。但是,如果我将路径更改为 /storage/,它会打印一堆文件夹,包括 sdcard0。我知道 sdcard0 实际上是一个文件夹/文件,因为我还为我的手机下载了一个文件管理器并浏览了这些文件。许多人建议使用 getExternalStorageDirectory(),但这会导致相同的空指针。
我已经添加了这些权限:
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
编辑: 我看过的众多网站之一 android null pointer error
更新: 我用isDirectory()检查它是否是一个文件夹,它返回true,然后我尝试canRead()它返回false,可能是权限问题?
【问题讨论】:
-
没有像“android.permission.READ_INTERNAL_STORAGE”这样的权限,尽管这不太可能是问题,因为读取EXTERNAL存储的权限通常尚未强制执行。
-
这很奇怪,因为我从字面上看到了 10 多个与使用它的人的链接,为什么它如此普遍?
-
您(或他们)混淆了内部和外部。有关清单权限,请参阅文档。
标签: android file nosuchfileexception