CSVWriter реализует Flushable.Working Solution уже присутствует в ответе @Stephan Hogenboom. Я отвечу, почему он не написал в вашем случае,
Из интерфейса Javadocs Flushable
,
Flushable является местом назначения данных, которые могут быть сброшены. Флеш
метод вызывается для записи любого буферизованного вывода в базовый
поток.
По соображениям производительности все данные должны временно записываться в буфер вместо файла. Как только вы вызываете метод flush (), он сбрасывает данные, уже присутствующие в буфере, в ваш файл (здесь происходит дисковый ввод-вывод, не при вызове writeNext()
).
Как уже упоминалось в документе flush()
в java.io.Writer
.
Очищает поток. Если поток сохранил какие-либо символы из
различные методы write () в буфере, запишите их немедленно
предполагаемый пункт назначения.