1 背景
CSV文件的讀寫其實(shí)是有很多方法的,在這里介紹一種利用第三方j(luò)ar包來讀寫CSV文件的方法。
日常工作中,如果有現(xiàn)成的第三方工具包,咱最好還是用現(xiàn)成的,有利于提升效率及降低異常率,成熟的三方工具包比較靠譜。
2 JavaCSV API
maven依賴
<!-- https://mvnrepository.com/artifact/net.sourceforge.javacsv/javacsv -->
<dependency>
<groupId>net.sourceforge.javacsv</groupId>
<artifactId>javacsv</artifactId>
<version>2.1</version>
</dependency>
API 說明文檔:http://javacsv.sourceforge.net/
JavaCSV官網(wǎng):https://sourceforge.net/projects/javacsv/
3 代碼實(shí)現(xiàn)
3.1 讀操作
public static void read(){
String filePath = "XXX.csv";
try {
// 創(chuàng)建CSV讀對(duì)象
CsvReader csvReader = new CsvReader(filePath);
// 讀表頭
csvReader.readHeaders();
while (csvReader.readRecord()){
// 讀一整行
System.out.println(csvReader.getRawRecord());
// 讀這行的某一列
System.out.println(csvReader.get("Link"));
}
} catch (IOException e) {
e.printStackTrace();
}
}
演示
3.2 寫操作
public static void write(){
String filePath = "/Users/dddd/test.csv";
try {
// 創(chuàng)建CSV寫對(duì)象
CsvWriter csvWriter = new CsvWriter(filePath,',', Charset.forName("GBK"));
//CsvWriter csvWriter = new CsvWriter(filePath);
// 寫表頭
String[] headers = {"編號(hào)","姓名","年齡"};
String[] content = {"12365","張山","34"};
csvWriter.writeRecord(headers);
csvWriter.writeRecord(content);
csvWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
這里寫圖片描述
來源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/53423121