Java OpenCSV不';t将数据库的第一行写入CSV文件

Java OpenCSV不';t将数据库的第一行写入CSV文件,java,opencsv,Java,Opencsv,我使用Netbeans在Java中创建了一个程序,该程序从数据库下载数据,然后使用OpenCSV将数据保存到CSV文件中。但是,由于某些原因,跳过了数据库的第一行 while (rs.next()){ CSVWriter writer = new CSVWriter(new FileWriter("C:\\test2.csv"), ','); writer.writeAll(rs,false); writer.flush(); writer.close(); } 实际数据

我使用Netbeans在Java中创建了一个程序,该程序从数据库下载数据,然后使用OpenCSV将数据保存到CSV文件中。但是,由于某些原因,跳过了数据库的第一行

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

我认为对
rs.next()
的调用将结果集中的一行向前推进,然后对writeAll的调用将在该推进之后写入所有内容。尝试取出代码周围的
while(rs.next)
循环块,看看是否有效

您应该再次检查文档。它清楚地表明您不需要while循环。您只需将结果集抛出,并定义是否应返回头

writer.writeAll(yourResultSet, true);

在上述情况下,标题将包含在生成的csv文件中

,以防您仍在跟踪此操作。writeAll(resultset,true)可以工作,但是,对于较大的resultset,它的速度非常慢。