我目前正在使用SuperCSV(v 2.4.0)导出数据。 我陷入了以下问题。
※我的问题: - 我的CSV标题有9列 - 有一行在两个字段之间缺少逗号dilimiter(,),因此该行成为8列线 - 混乱的行是随机出现的,并不是每次导出的完全相同的行。
※这里是我的代码: ①CSV写入功能 //忽略
stmt = con.prepareStatement(sql);
rs = stmt.executeQuery();
// obmitting
// ............
fos = new FileOutputStream(folderPath + "/" + FILE_NAME);
osw = new OutputStreamWriter(fos, "EUC-JP");
beanWriter = new CsvBeanWriter(osw, csvType);
beanWriter.writeHeader(this.CSV_HEADER);
while(rs.next()) {
AttachmentsBean bean = new AttachmentsBean();
bean.setCompDispId(pMng.getCompDispId());
bean.setFileId(rs.getString(1));
bean.setDocumentId(rs.getString(2));
bean.setFileName(rs.getString(3));
bean.setDiscription(rs.getString(4));
bean.setFileSize(rs.getString(5));
bean.setFilePath(rs.getString(6));
bean.setMimetype(rs.getString(7));
bean.setFileOrder(rs.getString(8));
progressCount++;
//出力
beanWriter.write(bean, this.CSV_HEADER);
}
//CSV出力終了
IOUtils.closeQuietly(beanWriter);
IOUtils.closeQuietly(osw);
IOUtils.closeQuietly(fos);
//文字変換
CommonUtil.convertFile(folderPath, folderPath +"/"+ FILE_NAME);
②ConvertFile辅助函数 此功能将特殊字符从EUC转换为UTF-8
※我的问题是,我的问题是由superCSV bug引起的吗?任何人都可以帮助找出原因吗? 因为我从下面的讨论中读到了,也许我不仅遇到了陷入困境的csv问题,而且还有一些人也这么做了。 Messed up CSV leads to Exception