【问题标题】:Failing to save a file EACCES or ENOENT error无法保存文件 EACCES 或 ENOENT 错误
【发布时间】:2017-05-24 10:29:26
【问题描述】:

我试图保存文件很长一段时间,但我收到错误 ENOENT(没有这样的文件或目录)或 EACCES(没有权限)。
这段代码给了我 ENOENT:

String fileName = "/testCSV1.csv";
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);

File f = new File(path, fileName);
CSVWriter writer;  

当我通过这个尝试时,我得到了 EACCES:

String fileName = "/testCSV1.csv";
String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();
String filePath = baseDir + File.separator + fileName;
File f = new File(filePath);
CSVWriter writer;  

甚至认为我拥有这两种权限:

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

那么我必须做些什么才能让它工作并保存这个文件?

【问题讨论】:

  • 如果您使用的是 Marshmallow 操作系统,那么您需要添加运行时权限,提供以下代码。

标签: java android csv


【解决方案1】:

我确定您没有在运行时请求许可。因此,请从设置中明确启用这些权限,然后重试。从 Marsh mellow 开始,即使在清单中声明它们之后,您也必须在运行时授予权限。希望这可以帮助。

【讨论】:

  • 确实是这样,让你吃亏!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-12
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多