保存文件时出错

时间:2015-04-02 13:52:33

标签: android

此代码中的问题在哪里?
我想写入内部存储,但运行时这个代码应用程序不幸地停止了

public Boolean save_user_pass(String user , String pass) throws IOException
{
    try {
        OutputStreamWriter write1=new OutputStreamWriter(openFileOutput(getFilesDir()+"data" , Context.MODE_PRIVATE));
        write1.write(user);
        write1.write("\n");
        write1.write(pass);
        write1.flush();
        write1.close();

    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return false;
    }
    return true;
}

1 个答案:

答案 0 :(得分:1)

有几个问题。 首先,openFileOutput()不是一个目录而只是一个文件名,所以你需要这样做:

OutputStreamWriter write1=new OutputStreamWriter(openFileOutput("data" , Context.MODE_PRIVATE));

,文件将以内部存储中应用程序的files文件夹结尾。 现在代码有效,但值得注意的是,在你的代码中你做了getFilesDir()+"data",这也是错误的因为getFilesDir()返回没有尾随斜杠的路径所以你应该做的getFilesDir()+"/data"