Java - 不要用缓冲写入器覆盖

标签 java line overwrite bufferedwriter

我有一个程序可以将人员添加到数组列表中。我想做的是将这些人也添加到一个文本文件中,但程序会覆盖第一行,因此这些人会被删除。

我如何告诉编译器在下一个空闲行写入?

import java.io.*;
import java.util.*;
import javax.swing.JTextArea;

public class Logic {

File file;
FileWriter fw;
FileReader fr;
BufferedWriter bw;
ArrayList<Person> person;

public Logic() {
    try {
        file = new File("register.txt");

        if (!file.exists()) {
            file.createNewFile();
        }
    } catch (IOException e) {
    }

    person = new ArrayList<Person>();
}

// Add person
public void addPerson(String name, int tele) {
    person.add(new Person(name, tele));
    savePerson(name, tele);
}

// Save person to external file
public void savePerson(String name, int tele) {
    try {
        fw = new FileWriter(file.getName());
        bw = new BufferedWriter(fw);
        String tel = Integer.toString(tele);
        bw.write(name + "\t" + tel);
        bw.newLine();
        bw.close();

    } catch (Exception e) {
        System.out.println("skrev inte ut med buffered");
    }
}

// Går in i alla objekt av klassen Person och skriver ut toString i
// textArean
public void visaAlla(JTextArea textRuta) {
    textRuta.setText("");
    // for(Person p:person)
    // {
    // textRuta.append(p.toString());
    // }

    try {
        fr = new FileReader(file.getName());
        BufferedReader in = new BufferedReader(fr);
        String str;

        while ((str = in.readLine()) != null) {
            textRuta.append(str);
        }

    } catch (Exception e) {
        System.out.println("gickcinte ");
    }
}
}

最佳答案

FileWriter 接受 optional boolean argument它指定是否应该追加或覆盖现有内容。如果要以追加方式打开文件写入,则传入true

关于Java - 不要用缓冲写入器覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8588045/

相关文章:

java - OpenGL 线条在屏幕中间相交而不是直线

javascript - 检查全局属性/函数是否已在 JavaScript 中被覆盖

java - JComboBox - 如何呈现时间值的名称

java - 通过 JSON 传递非数字/字母的字符串

java - Vertx.io 应用程序的单元测试

java - 我想从文件中的一行读取数据。在 java

javascript - 使用 d3.js 创建一条穿过某些点的线

python - 将 pandas 数据框保存为 csv 并覆盖现有文件

android - 覆盖电话标准按钮

Java修改XML