如何在不覆盖该文件中的旧数据的情况下将数据保存在文件中?

时间:2016-03-11 20:48:18

标签: java android

我的代码正在创建一个文件来保存数据,但它也会覆盖先前在同一文件名下保存的先前数据。如何修改我的代码以保存新数据而不影响旧数据?我希望我的数据用一条分隔旧数据的行保存。这是我保存的代码部分:

public void buttonSave(View view) {
    File file = new File(path + "/Data.txt");
    String[] saveText = String.valueOf(editText.getText()).split(System.getProperty("line.separator"));
    editText.setText("");

    Toast.makeText(getApplicationContext(), "Saved", Toast.LENGTH_LONG).show();
    Save(file, saveText);
}

1 个答案:

答案 0 :(得分:0)

您可以尝试将文件中的数据读入String,然后将新文本添加到字符串中。之后用新添加的信息保存文件,你就完成了。以下是有关如何阅读文件的示例:

BufferedReader br = null;

        try {

            String sCurrentLine;

            br = new BufferedReader(new FileReader("C:\\testing.txt"));

            while ((sCurrentLine = br.readLine()) != null) {
                System.out.println(sCurrentLine);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (br != null)br.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }