Java FileWriter с режимом добавления

В настоящее время я использую 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();

person Progress Programmer    schedule 03.08.2009    source источник


Ответы (4)


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

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

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

person Amber    schedule 03.08.2009

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

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

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

person Peter    schedule 03.08.2009

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

fout = new FileWriter("Distribution_" + ... + ".txt", true);
person Matthew Crumley    schedule 03.08.2009

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

Например,

fout = new FileWriter( "Distribution_" + Double.toString(нижняя граница) + "" + Double.toString(_highBound) + ".txt",true);

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

person jatanp    schedule 03.08.2009