此代码中的问题在哪里?
我想写入内部存储,但运行时这个代码应用程序不幸地停止了
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;
}
答案 0 :(得分:1)
有几个问题。 首先,openFileOutput()不是一个目录而只是一个文件名,所以你需要这样做:
OutputStreamWriter write1=new OutputStreamWriter(openFileOutput("data" , Context.MODE_PRIVATE));
,文件将以内部存储中应用程序的files文件夹结尾。
现在代码有效,但值得注意的是,在你的代码中你做了getFilesDir()+"data"
,这也是错误的因为getFilesDir()
返回没有尾随斜杠的路径所以你应该做的getFilesDir()+"/data"