Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android java.io.FileNotFoundException:/data/data/package_name/files/A/A.json:open failed:enoint(没有这样的文件或目录)_Android_File_Inputstream - Fatal编程技术网

Android java.io.FileNotFoundException:/data/data/package_name/files/A/A.json:open failed:enoint(没有这样的文件或目录)

Android java.io.FileNotFoundException:/data/data/package_name/files/A/A.json:open failed:enoint(没有这样的文件或目录),android,file,inputstream,Android,File,Inputstream,我正在android中使用以下代码创建文件: 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

我正在android中使用以下代码创建文件:

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:/data/data/com.abc.android.abc/files/A/A.json:open failed:enoint(没有这样的文件或目录)

无论您在哪里定义f。您正在定义文件
路径
文件
,并尝试从定义f的任何位置获取输入流。您正在定义文件
路径
文件
并尝试从
f

获取输入流。对不起,f应该是文件。i、 e InputStream is=新文件InputStream(文件);如果您在log5中,您应该能够获得流。1.请尝试对文件
file.canRead()
进行读取检查。2.检查清单中的读取权限。3.直接检查文件系统上的所有者文件权限(adb)对不起,f应该是文件。i、 e InputStream is=新文件InputStream(文件);如果您在log5中,您应该能够获得流。1.请尝试对文件
file.canRead()
进行读取检查。2.检查清单中的读取权限。3.直接检查文件系统上的所有者filepermission(adb)
,然后我就可以获得输入流。
。不可能的。您刚刚创建了目录“A”,然后其中已经有一个文件“A.json”?不可能。你的代码在很多方面都很糟糕。例如,如果mkdirs()失败,您甚至可以尝试打开输入流。那你应该回来。无需进一步执行。
我正在android中使用以下代码创建文件:
。您的代码中没有创建文件的内容。@greenapps谢谢您的评论。我知道如何处理mkdirs失败的情况。但这不是我要问的问题。
然后我就可以得到输入流。
。不可能的。您刚刚创建了目录“A”,然后其中已经有一个文件“A.json”?不可能。你的代码在很多方面都很糟糕。例如,如果mkdirs()失败,您甚至可以尝试打开输入流。那你应该回来。无需进一步执行。
我正在android中使用以下代码创建文件:
。您的代码中没有创建文件的内容。@greenapps谢谢您的评论。我知道如何处理mkdirs失败的情况。但这不是我要问的重点。