Java FileWriter с режимом добавления - PullRequest
34 голосов
/ 04 августа 2009

В настоящее время я использую FileWriter для создания и записи в файл. Есть ли способ, что я могу писать в один и тот же файл каждый раз, не удаляя содержимое там?

   fout = new FileWriter(
    "Distribution_" + Double.toString(_lowerBound) + "_" + Double.toString(_highBound) + ".txt");
    fileout = new PrintWriter(fout,true);
fileout.print(now.getTime().toString() + ", " + weight + ","+ count +"\n");
    fileout.close();

Ответы [ 4 ]

88 голосов
/ 04 августа 2009

Передайте true в качестве второго аргумента FileWriter, чтобы включить режим добавления.

fout = new FileWriter("filename.txt", true);

Справочник по использованию FileWriter

8 голосов
/ 04 августа 2009

В Javadoc вы можете использовать конструктор, чтобы указать, хотите ли вы добавить или нет.

public FileWriter (Файловый файл, логическое добавление) выдает IOException

Создает объект FileWriter с учетом объекта File. Если второе аргумент истина, тогда байты будут записано в конец файла скорее чем начало.

6 голосов
/ 04 августа 2009

Вы можете открыть FileWriter в режиме добавления, передав true в качестве второго параметра:

fout = new FileWriter("Distribution_" + ... + ".txt", true);
3 голосов
/ 04 августа 2009

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

Например,

fout = новый FileWriter ( "Distribution_" + Double.toString ( lowerBound) + "" + Double.toString (_highBound) + ".txt", true );

Надеюсь, это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...