我使用的是opencsv 3.0版本。由于某种原因,它不会将记录写入CSV文件。 2.3版本运行良好。但是,我想使用CSVIterator类。任何帮助表示赞赏。
public void writeGradesIntoFile(GradeReport gradeReport,String outputFileName)
{
File outputCSVFile = null;
CSVWriter csvFileWriter = null;
String[] lastRecord = null;
try {
outputCSVFile = new File(outputFileName + ".csv");
csvFileWriter = new CSVWriter(new FileWriter(outputCSVFile, true),
',', CSVWriter.NO_QUOTE_CHARACTER);
if (checkFileExistsAndEmpty(outputCSVFile)) {
String[] firstRecord = new String[] { gradeReport.getEmpId(),
Integer.toString(gradeReport.getScore()) };
csvFileWriter.writeNext(firstRecord);
}
} catch (IOException ioEx) {
ioEx.printStackTrace();
}
}
这是pom条目
<dependency>
<groupId>net.sf.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>3.0</version>
</dependency>
答案 0 :(得分:3)
您需要通过调用csvFileWriter.close()
来关闭作者 - 理想情况下,这应该在finally
块中完成。