CSV是一种通用的、相对简单的文件格式,excel、database等可与之互转,方便数据处理。
一般以,作为分隔符,当我们遇到内容中也有,的时候就不太好处理了,可以简单用一些第三方库处理一下。
例如如下文件就不太好处理
1,"test,test",110
2,"test,test",220
public void testCsv() {
try {
ICSVWriter writer = new CSVWriterBuilder(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("out.csv"))))).build();
try (CSVReader csvReader = new CSVReaderBuilder(new BufferedReader(new InputStreamReader(new FileInputStream(new File("in.csv")), "utf-8"))).build()) {
for (String[] next : csvReader) {
//只需要第1列和第3列的数据
String[] out = new String[]{next[0], next[2]};
writer.writeNext(out);
Arrays.stream(out).forEach(System.out::print);
System.out.println();
}
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
相关依赖库
testImplementation 'com.opencsv:opencsv:4.4'