Используйте параметр APPEND
:
BufferedWriter writer = Files.newBufferedWriter(
Paths.get(CSV_FILE),
StandardOpenOption.APPEND,
StandardOpenOption.CREATE);
Вы должны настроить все так, чтобы one из следующих условий:
- Прежде чем начать, убедитесь, что выходной файл пуст или отсутствует; ИЛИ
- Используйте опцию
APPEND
только при втором и последующих вызовах generateCSV
Кстати, вы создаетеновые BufferedWriter
и CSVPrinter
при каждом вызове generateCSV
, и не закрытие ни одного.Это расточительно, вам, вероятно, следует создать их в конструкторе, реализовать Closeable
и реализовать метод close()
для очистки.Затем оберните вызывающий код в попытку с ресурсами, который создает экземпляр generateCSV
.