OpenCSV не записывает первую строку базы данных в файл CSV
Я создал программу на Java с использованием Netbeans, которая загружает данные из базы данных, которые затем сохраняются в файл CSV с использованием OpenCSV. Однако по какой-то причине первая строка базы данных пропускается.
while (rs.next()){
CSVWriter writer = new CSVWriter(new FileWriter("C:\\test2.csv"), ',');
writer.writeAll(rs,false);
writer.flush();
writer.close();
}
Фактические данные в БД:
1 Mark BMW
2 John Audi
3 Nick Fiat
Данные, записанные в файл CSV:
2 John Audi
3 Nick Fiat
2 ответа
Я думаю, что призыв к rs.next()
продвигается на одну строку в вашем наборе результатов, а затем вызов writeAll записывает все после этого продвижения. попробуйте вынуть while(rs.next)
зациклите ваш код и посмотрите, работает ли он
Вы должны проверить документацию снова. это ясно показывает, что вам не нужен цикл while. Вы просто добавляете в него набор результатов и определяете, должны ли заголовки быть возвращены или нет.
writer.writeAll(yourResultSet, true);
В приведенном выше случае заголовки будут включены в сгенерированный CSV-файл