如何在文本文件中添加一行而不覆盖它(JAVA)?

如何在文本文件中添加一行而不覆盖它(JAVA)?,java,android,line,text-files,Java,Android,Line,Text Files,我的数据存储在一个ArrayList中,它的大小在程序执行期间会增加。 我设法在大小增加时保存所有数据,但这会导致覆盖已存储的数据。 解决方案是直接转到底线,插入ArrayList最后一个单元格的内容。不幸的是,我不知道如何实施它。 谢谢你帮我做这件事 下面是我使用的方法 private void SaveLocationData(){ try { FileOutputStream output = openFileOutput("latlngpoints.txt",C

我的数据存储在一个ArrayList中,它的大小在程序执行期间会增加。 我设法在大小增加时保存所有数据,但这会导致覆盖已存储的数据。 解决方案是直接转到底线,插入ArrayList最后一个单元格的内容。不幸的是,我不知道如何实施它。 谢谢你帮我做这件事

下面是我使用的方法

private void SaveLocationData(){
    try {

        FileOutputStream output = openFileOutput("latlngpoints.txt",Context.MODE_PRIVATE);
        DataOutputStream dout = new DataOutputStream(output);                     
        dout.writeInt(LocationList.size()); 
        for (Location location : LocationList) {
            dout.writeUTF(location.getLatitude() + "," + location.getLongitude());              
        }
        dout.flush(); // Flush stream ...
        dout.close(); // ... and close.
    } catch (IOException exc) {
        exc.printStackTrace();
    }   
}

使用
模式\u追加

 FileOutputStream output = openFileOutput("latlngpoints.txt",Context.MODE_APPEND);
从:

文件创建模式:用于openFileOutput(字符串,int),如果 文件已存在,然后将数据写入现有文件的末尾 而不是删除它

你也可以试试这个

        FileWriter fstream = new FileWriter("x.txt",true); //this will allow to append
        BufferedWriter fbw = new BufferedWriter(fstream);
        fbw.write("append txt...");
        fbw.newLine();
        fbw.close();

非常感谢。这是有用的