我的设备没有SD卡,但我可以访问"内部存储"在Windows资源管理器中,有一个" tmp.txt"。
txt文件是通过Windows资源管理器粘贴的,现在我想读取这个文件。我的代码是:
File sdcard = Environment.getExternalStorageDirectory();
File file = new File(sdcard,"tmp.txt");
StringBuilder text = new StringBuilder();
try {
InputStream in = new FileInputStream(file);
...
}
catch (IOException e) {
}
但是它不起作用,它在new FileInputStream(file);
之后捕获异常,调试信息记录文件位置实际上是"/storage/emulated/0/tmp.txt"
,因此它无法找到该文件。
然后我尝试使用以下命令将文件放在下载目录中
File fileDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File file = new File(fileDir, "tmp.txt");
错误日志:exception e:
它也不起作用,基本上它们也是同样的问题。我可以访问此目录中的文件吗?
答案 0 :(得分:0)
阅读本文:developer.android.com/guide/topics/data/data-storage您无权读取存储空间,您提供的权限适用于位置服务。