OpenCSV读取csv文件时,如果最后一列没有数据,读取出来的集合比抬头字段少
com.opencsv.exceptions.CsvRequiredFieldEmptyException: Number of data fields does not match number of headers.
将内容输出到文件,默认CSV格式文件是以“,”隔开的。
/**
* 写数据
*/
public static void writeCsv() {
String myPath = "D:\\WorkSpace\\IDEA_WorkSpace\\sortalgorithm-demos\\src\\main\\resources\\csvouttest.csv";
String[] data1 = {"姓名", "性别", "年龄"};
String[] data2 = {"云天明", "男", "17"};
String[] data3 = {"韩菱纱", "女", "16"};
//将数据放到列表里面
List<String[]> datas = new ArrayList();
datas.add(data1);
datas.add(data2);
datas.add(data3);
//将内容输入到文件
try (CSVWriter writer = new CSVWriter(Files.newBufferedWriter(Paths.get(myPath), StandardCharsets.UTF_8),
CSVWriter.DEFAULT_SEPARATOR,
CSVWriter.NO_QUOTE_CHARACTER,
CSVWriter.NO_ESCAPE_CHARACTER,
CSVWriter.DEFAULT_LINE_END)) {
//写数据到文件
writer.writeAll(datas);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
得到文件内容:
姓名,性别,年龄
云天明,男,17
韩菱纱,女,16