Как записать более одного раза в текстовый файл с помощью PrintWriter - PullRequest
3 голосов
/ 29 марта 2012

Я знаю, как создать PrintWriter и могу взять строки из моего графического интерфейса и распечатать его в текстовом файле.

Я хочу иметь возможность взять ту же программу и распечатать в файлдобавление текста в файл вместо замены всего, что уже есть в текстовом файле.Как сделать так, чтобы при добавлении большего количества данных в текстовый файл они каждый раз печатались на новой строке?

Любые примеры или ресурсы были бы потрясающими.

Ответы [ 3 ]

7 голосов
/ 29 марта 2012
    try 
    {
    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("outfilename", true)));
    out.println("the text");
    out.close();
     } catch (IOException e) {
    }

Второй параметр в конструкторе FileWriter скажет ему добавить к файлу (в отличие от очистки файла).

Использование BufferedWriter рекомендуется для дорогого писателя (т.е. FileWriter), а использование PrintWriter дает вам доступ к синтаксису println, к которому вы, вероятно, привыкли из System.out.

Но оболочки BufferedWriter и PrintWriter не являются строго необходимыми.

1 голос
/ 29 марта 2012
PrintWriter writer=new PrintWriter(new FileWriter(new File("filename"),true));
writer.println("abc");

Конструктор FileWriter поставляется с атрибутом добавления, если он равен true, вы можете добавить файл.

отметьте это

0 голосов
/ 29 марта 2012

Ваш PrintWriter оборачивает другого писателя, который, вероятно, является FileWriter. Когда вы создаете этот FileWriter, используйте конструктор, который принимает как объект File, так и флаг "append". Если вы передадите true в качестве флага добавления, он откроет файл в режиме добавления, что означает, что новый вывод будет идти в конце существующего содержимого файла, а не заменять существующее содержимое.

...