java.io.FileNotFoundException:/data/data/package_name/files/A/A.json:打开失败:ENOENT(没有这样的文件或目录)
我使用android系统中下面的代码创建一个文件:java.io.FileNotFoundException:/data/data/package_name/files/A/A.json:打开失败:ENOENT(没有这样的文件或目录)
File path = new File(this.context.getFilesDir() + File.separator + "A");
File file = null;
if (!path.exists()){
//print log 1
if (! path.mkdirs()){
//print log 2
} else {
//print log 3
file = new File(path.getAbsolutePath(),"A.json");
}
} else {
//print log 4
file = new File(path.getAbsolutePath(),"A.json");
if (file.exists())
{
//print log 5
} else {
//print log 6
}
}
InputStream is = new FileInputStream(file);
问题: - 当我安装APK时,第一次上面的代码工作。我得到日志: //打印日志1,打印日志3。 然后我能够得到输入流。
但接下来这段代码执行时的时间,它去打印日志4,打印日志5. 但是,当我试图让输入流中它给我的错误: java.io.FileNotFoundException:/数据/数据/ com.abc.android.abc/files/A/A.json:打开失败:ENOENT(没有这样的文件或目录)
无论你在何处定义f。您正在定义文件path
和file
并尝试从f
对不起,f应该是文件。即InputStream is = new FileInputStream(file); –
如果你在log5里面,你应该可以得到流。 1.在文件'file.canRead()'上尝试一次readcheck。 2.检查清单中的权限以供阅读。 3.直接检查文件系统上的所有者filepermission(adb) – Fusselchen
获得输入流'然后我就可以得到输入流。不可能。你刚刚创建了目录'A',然后就会有一个'A.json'文件在里面了?不可能。 – greenapps
你的代码在很多方面都很糟糕。例如,如果mkdirs()失败,甚至尝试打开输入流。你应该回来。没有进一步执行。 – greenapps
'我在android中使用下面的代码来创建一个文件:'。您的代码中没有创建文件。 – greenapps