0

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

2 回答 2

2

是的,您可以像这样为您的文件指定分隔符:

<stream name="mydata" format="csv">
    <parser>
        <property name="delimiter" value="$" />
    </parser>
    ...
</stream>
于 2015-02-19T22:17:57.260 回答
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 或注释来将一批属性映射到您的 Java 实体/类,然后执行业务逻辑,但不替换任何字符。

要替换字符,还有 POI 等其他库,但 Scanner 等原生组件已经可以为您完成。

为您提供信息,java 提供:FileOutputStream、FileWriter、PrintWriter、OutputStreamWriter、BufferedWriter 用于 I/O 操作。

于 2017-07-14T10:43:56.907 回答