Java FileWriter - Добавить строку текстового файла - PullRequest
7 голосов
/ 10 апреля 2011

У меня есть кнопка в графическом интерфейсе, и при нажатии кнопки пользователь имеет возможность добавлять информацию в текстовый файл.У меня хорошо настроена эта часть, но меня беспокоит то, что когда пользователь пишет в файл, он стирает всю информацию в текстовом файле, и остается только одна строка, которая была только что добавлена.Мне нужно добавить информацию и сохранить исходную информацию в текстовом файле.Я думал, что команда добавления могла сделать это, но я явно делаю что-то не так.Любая помощь будет потрясающей!

Вот мой код:

FileWriter fWriter = null;
    BufferedWriter writer = null;
    try {
        fWriter = new FileWriter("info.txt");
        writer = new BufferedWriter(fWriter);


        writer.append(javax.swing.JOptionPane.showInputDialog(this, "add info"));
        writer.newLine();
        writer.close();
    } catch (Exception e) {
    }

Ответы [ 2 ]

11 голосов
/ 10 апреля 2011

Используйте конструктор, который принимает параметр bool append.См. Javadocs для FileWriter для этого.

fWriter = new FileWriter("info.txt", true);
1 голос
/ 10 апреля 2011

Вам нужно writer.flush(). PrintWriter автоматически сбрасываются по умолчанию, но не Writers

...