Android 重新启动应用程序时FileNotFoundException

Android 重新启动应用程序时FileNotFoundException,android,fileinputstream,fileoutputstream,Android,Fileinputstream,Fileoutputstream,我不知道为什么,但我从Init()函数中得到了一个FileNotFoundException 发生的事情是,当我第一次启动应用程序时,得到一个应用程序是正常的(文件不存在)。然后我按下一个按钮调用Save并创建文件(如果我在outputStream.close()之后添加一个日志,我就能看到它)。实际上,我试图用FileInputStream打开创建的文件,但没有得到异常 但是。当我关闭应用程序并再次打开它时。我得到了FileNotFoundException。知道为什么吗 public cla

我不知道为什么,但我从Init()函数中得到了一个FileNotFoundException

发生的事情是,当我第一次启动应用程序时,得到一个应用程序是正常的(文件不存在)。然后我按下一个按钮调用Save并创建文件(如果我在outputStream.close()之后添加一个日志,我就能看到它)。实际上,我试图用FileInputStream打开创建的文件,但没有得到异常

但是。当我关闭应用程序并再次打开它时。我得到了FileNotFoundException。知道为什么吗

public class MyClass {
    public static Context mContext ;    
    public static void Save(){
        String test = "test" ;
        FileOutputStream outputStream;
        try {
            outputStream = mContext.openFileOutput(FILENAME, Context.MODE_PRIVATE);
            outputStream.write(test.getBytes());
            outputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void Init(Context c){
        mContext = c ;
        FileInputStream inputStream;
        try {
            inputStream = c.openFileInput(FILENAME);
            String test = "";
            char ch ;
            while((ch=(char) inputStream.read())!=-1)
                test+= ch ;
            inputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
编辑:


因此,这些调用不是在活动中,而是在静态类中
Init
是从我的主要活动的
onCreate
调用的<代码>保存是从另一个活动的
onPause
调用的。希望对您有所帮助。

如果您的活动不是太大,请显示完整的代码,可能问题出在其他地方…@opiatefuch希望编辑帮助您应该为Save()提供自己的上下文,如Save(context context)。不要生成void函数,而是让它们返回布尔值true/false,以便调用者知道一切是否顺利。此外,您还可以使用
file file file=new file(fileName)避免文件未找到异常;如果(!file.exists())返回false。事实上,我并不是真的试图避免这个异常,而是想了解为什么我会得到它(为什么我的文件找不到,它应该在这里)