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;

此方法应将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;
        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个名声。很抱歉