Java-csv
使用 Javacsv 读写 CSV,如果 csv 文件中有空行,不会报错,比 commons-csv 好用,性能也更好一些。
Gradle 依赖
1 | compile 'net.sourceforge.javacsv:javacsv:2.0' |
读取 CSV:
1 | import com.csvreader.CsvReader; |
写入 CSV:
1 | CsvWriter writer = new CsvWriter("/Users/Biao/Desktop/test.csv", ',', StandardCharsets.UTF_8); |
Commons-csv
使用 Apache 的 commons-csv 读写 CSV,如果 csv 文件中有空行 (只允许末尾一个空行),会报错。
Gradle 依赖
1 | 'org.apache.commons:commons-csv:1.2' |
test.csv
CSV 文件的第一行可以是列名,也可以没有。
1 | x,y,ex,ey |
CsvReader.java
- 读取带有列名的 CSV 使用
CSVFormat.EXCEL.withHeader().parse(reader)
- 读取不带列名的 CSV 使用
CSVFormat.EXCEL.parse(reader)
1 | import org.apache.commons.csv.CSVFormat; |
输出
1 | [x: 1.1, y: 1.2] |
CsvWriter.java
1 | import org.apache.commons.csv.CSVFormat; |
输出
1 | ID,username,password |