我正在使用BeanIO将csv文件转换为其他.xx文件。 我的问题是,如果我有像
这样的csv文件 abc,def,ghi,jkl,mno
pqr,stu,vwx,yzi,sdp
我想要的.xx文件是删除,(逗号)并将'$'改为
abc$def$ghi$jkl$mno
pqr$stu$vwx$yzi$sdp
答案 0 :(得分:2)
是的,您可以为此指定文件的分隔符:
<stream name="mydata" format="csv">
<parser>
<property name="delimiter" value="$" />
</parser>
...
</stream>
答案 1 :(得分:0)
是否必须使用beanIO?您可以简单地使用BufferedReader和Writer来完成任务。
BufferedReader br = new BufferedReader(new FileReader(csvFile));
List<String> newLines = new ArrayList<String>();
while ((line = br.readLine()) != null) {
String newline = line.replace(',', '$');
newLines.add(newline);
}
br.close();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(csvFile));
for (int i = 0; i < newLines.size(); i++) {
bw.write(newLines.get(i));
bw.newLine();
}
bw.close();
使用beanIO假设有一个配置xml或annotation可以将一批属性映射到Java实体/类,然后执行业务逻辑,但不替换任何字符。
要替换字符,还有其他库,例如POI,但是Scanner等本机组件已经可以为您完成。
为了您的信息,java提供: FileOutputStream,FileWriter,PrintWriter,OutputStreamWriter,BufferedWriter,用于I / O操作。