Потоковая запись в CSV-файл - PullRequest
0 голосов
/ 24 июня 2019

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

Я использую принтер csv из apache csv, который может создать строку csv с некоторыми настройками. Но когда я звоню после каждой записи, запись сбрасывается слишком медленно.

Есть ли у вас какие-либо советы, как решить эту задачу?

1 Ответ

0 голосов
/ 24 июня 2019

BufferedWriter

Java предлагает класс BufferedWriter для автоматической обработки эффективной записи в хранилище. Вам не нужно звонить flush. Вы можете установить размер буфера, но я рекомендую начать с использования размера по умолчанию.

Удобным способом создания экземпляра такого объекта является вызов Files.newBufferedWriter.

База вашего CSVPrinter объекта BufferedWriter.

...