Android保存到file.txt追加

USE*_*309 3 android append filewriter

我承认我还在学习,并认为自己是一个关于编程的新手(充其量).我在android中附加文件时遇到问题.每当我保存,它将重写文件,我无法理解如何保留已存在的文件,只添加一个新行.希望有一些清晰/建议.这是我如何保存到文件(每次保存时重写文件).

public void saveText(View view){

    try {
        //open file for writing
        OutputStreamWriter out = new OutputStreamWriter(openFileOutput("save.txt", MODE_PRIVATE));

        //write information to file
        EditText text = (EditText)findViewById(R.id.editText1);
        String text2 = text.getText().toString();
        out.write(text2);
        out.write('\n');

        //close file

        out.close();
        Toast.makeText(this,"Text Saved",Toast.LENGTH_LONG).show();

    } catch (java.io.IOException e) {
        //if caught
        Toast.makeText(this, "Text Could not be added",Toast.LENGTH_LONG).show();
    }
}
Run Code Online (Sandbox Code Playgroud)

cod*_*ePG 6

改变这个,

OutputStreamWriter out = new OutputStreamWriter(openFileOutput("save.txt", MODE_PRIVATE));
Run Code Online (Sandbox Code Playgroud)

至,

OutputStreamWriter out = new OutputStreamWriter(openFileOutput("save.txt", Context.MODE_APPEND));
Run Code Online (Sandbox Code Playgroud)

这会将您的新内容附加到现有文件中.

我希望它有所帮助!


Vib*_*pra 5

使用此方法,传递文件名和要添加到文件中的值

public void writeFile(String mValue) {

    try {
        String filename = Environment.getExternalStorageDirectory()
                .getAbsolutePath() + mFileName;
        FileWriter fw = new FileWriter("ENTER_YOUR_FILENAME", true);
        fw.write(mValue + "\n\n");
        fw.close();
    } catch (IOException ioe) {
    }

}
Run Code Online (Sandbox Code Playgroud)