Java 谁能告诉我这种方法有什么问题吗?
此方法应将EditText中的文本保存到文件中 此方法位于片段中,我从MainActivity.java调用此方法Java 谁能告诉我这种方法有什么问题吗?,java,android,Java,Android,此方法应将EditText中的文本保存到文件中 此方法位于片段中,我从MainActivity.java调用此方法 public void saveState() { String location="i_C_s_editor_save_state_file.txt"; String path="file:///data/data/com.wordpress.softwarebycs.i_cseditor/files/"+location;
public void saveState()
{
String location="i_C_s_editor_save_state_file.txt";
String path="file:///data/data/com.wordpress.softwarebycs.i_cseditor/files/"+location;
File f=new File(path);
if (f.exists()==true)
f.delete();
else{
try {
FileOutputStream fos = getActivity().openFileOutput(location, Context.MODE_PRIVATE);
fos.write(codebox.getText().toString().getBytes());
fos.close();
} catch (Exception e) {
e.printStackTrace();
}}
}
当文件存在时,您的代码仅删除该文件:
if (f.exists()==true)
f.delete();
我认为您需要添加代码以重新打开并保存到其中,即
if (f.exists()==true) {
f.delete();
FileOutputStream fos = getActivity().openFileOutput(location, Context.MODE_PRIVATE);
fos.write(codebox.getText().toString().getBytes());
fos.close();
}
-Dennis是否有错误或其他问题?是否尝试过调试?f.delete如果成功删除文件,则返回布尔值。可能此处存在权限错误,无法覆盖该文件。您还应该使用GetFileDir,而不是硬编码内部路径。写入操作将覆盖文件中的任何内容,除非您在打开文件时选择“附加”模式。不客气。你有机会对我的答案投票吗?我没有15个名声。很抱歉