我正在使用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 for I/O 操作。