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-файл

Другие вопросы по тегам