我正在尝试保存文件很长一段时间,但我要么收到错误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"/>
那么我需要做些什么来使这个工作并保存这个文件?
答案 0 :(得分:2)
我确定你在运行时没有问过这个许可。因此,请从设置中明确启用这些权限,然后重试。从Marsh醇厚,您必须在运行时授予权限,即使在清单中声明它们之后也是如此。希望这可以帮助。