http://blog.csdn.net/loongshawn/article/details/53423121
http://javacsv.sourceforge.net/
轉載請注明來源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/53423121
1 背景
CSV文件的讀寫其實是有很多方法的,在這里介紹一種利用第三方jar包來讀寫CSV文件的方法。
日常工作中,如果有現成的第三方工具包,咱最好還是用現成的,有利於提升效率及降低異常率,成熟的三方工具包比較靠譜。
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>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
API 說明文檔:http://javacsv.sourceforge.net/
JavaCSV官網:https://sourceforge.net/projects/javacsv/
3 代碼實現
3.1 讀操作
public static void read(){ String filePath = "XXX.csv"; try { // 創建CSV讀對象 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(); } }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
3.2 寫操作
public static void write(){ String filePath = "/Users/dddd/test.csv"; try { // 創建CSV寫對象 CsvWriter csvWriter = new CsvWriter(filePath,',', Charset.forName("GBK")); //CsvWriter csvWriter = new CsvWriter(filePath); // 寫表頭 String[] headers = {"編號","姓名","年齡"}; String[] content = {"12365","張山","34"}; csvWriter.writeRecord(headers); csvWriter.writeRecord(content); csvWriter.close(); } catch (IOException e) { e.printStackTrace(); } }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 頂
- 8
- 踩
- 2