我正在使用 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
我正在使用 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
是的,您可以像这样为您的文件指定分隔符:
<stream name="mydata" format="csv">
<parser>
<property name="delimiter" value="$" />
</parser>
...
</stream>
必须使用 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 操作。