使用beanIO进行文件转换

时间:2014-11-26 13:10:53

标签: java filewriter bean-io

我正在使用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

2 个答案:

答案 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操作。