Javacsv實(shí)現(xiàn)Java讀寫csv文件
今天跟大家分享一個(gè)利用外部Jar包來實(shí)現(xiàn)Java操作CSV文件
一.資源下載
1.直接下載Jar包:javacsv-2.0.jar
2.利用Maven下載Jar包:
<dependency> <groupId>net.sourceforge.javacsv</groupId> <artifactId>javacsv</artifactId> <version>2.0</version> </dependency>
3.API說明:javacsv.sourceforge.net
二.操作演示
1.寫CSV文件案例
public static void writeCSV() { // 定義一個(gè)CSV路徑 String csvFilePath = "D://StemQ.csv"; try { // 創(chuàng)建CSV寫對(duì)象 例如:CsvWriter(文件路徑,分隔符,編碼格式); CsvWriter csvWriter = new CsvWriter(csvFilePath, ',', Charset.forName("UTF-8")); // 寫表頭 String[] csvHeaders = { "編號(hào)", "姓名", "年齡" }; csvWriter.writeRecord(csvHeaders); // 寫內(nèi)容 for (int i = 0; i < 20; i++) { String[] csvContent = { i + "000000", "StemQ", "1" + i }; csvWriter.writeRecord(csvContent); } csvWriter.close(); System.out.println("--------CSV文件已經(jīng)寫入--------"); } catch (IOException e) { e.printStackTrace(); } }
2.讀CSV文件案例
public static void readCSV() { try { // 用來保存數(shù)據(jù) ArrayList<String[]> csvFileList = new ArrayList<String[]>(); // 定義一個(gè)CSV路徑 String csvFilePath = "D://StemQ.csv"; // 創(chuàng)建CSV讀對(duì)象 例如:CsvReader(文件路徑,分隔符,編碼格式); CsvReader reader = new CsvReader(csvFilePath, ',', Charset.forName("UTF-8")); // 跳過表頭 如果需要表頭的話,這句可以忽略 reader.readHeaders(); // 逐行讀入除表頭的數(shù)據(jù) while (reader.readRecord()) { System.out.println(reader.getRawRecord()); csvFileList.add(reader.getValues()); } reader.close(); // 遍歷讀取的CSV文件 for (int row = 0; row < csvFileList.size(); row++) { // 取得第row行第0列的數(shù)據(jù) String cell = csvFileList.get(row)[0]; System.out.println("------------>"+cell); } } catch (IOException e) { e.printStackTrace(); } }
三.總結(jié)
以上內(nèi)容就是利用JavaCSV.jar操作的簡(jiǎn)單示例,可以根據(jù)自己的項(xiàng)目需求進(jìn)行酌情修改。
相關(guān)文章
解決mybatis-plus3.1.1版本使用lambda表達(dá)式查詢報(bào)錯(cuò)的方法
這篇文章主要介紹了解決mybatis-plus3.1.1版本使用lambda表達(dá)式查詢報(bào)錯(cuò)的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Seata?AT獲取數(shù)據(jù)表元數(shù)據(jù)源碼詳解
這篇文章主要為大家介紹了Seata?AT獲取數(shù)據(jù)表元數(shù)據(jù)源碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11JAVA三種攔截方式詳解(原生過濾器Filter、springMVC攔截器、aop切面)
在Java開發(fā)中方法攔截是一種常見的技術(shù),可以用于在方法執(zhí)行前后添加額外的邏輯或修改方法的行為,這篇文章主要給大家介紹了關(guān)于JAVA三種攔截方式的相關(guān)資料,文中介紹的方式分別是原生過濾器Filter、springMVC攔截器、aop切面,需要的朋友可以參考下2024-05-05Java實(shí)現(xiàn)二分查找算法實(shí)例分析
這篇文章主要介紹了Java實(shí)現(xiàn)二分查找算法,實(shí)例分析了二分查找算法的原理與相關(guān)實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07Java?中的?clone(?)?和?new哪個(gè)效率更高
很多朋友不太清楚clone()和new那個(gè)更快?針對(duì)這個(gè)問題我百度了好多資料,最終小編總結(jié)下關(guān)于Java?中的?clone(?)?和?new哪個(gè)效率更高的問題,感興趣的朋友跟隨小編一起看看吧2021-12-12解決Intellij IDEA 使用Spring-boot-devTools無效的問題
下面小編就為大家?guī)硪黄鉀QIntellij IDEA 使用Spring-boot-devTools無效的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07ThreadPoolExecutor參數(shù)含義及源碼執(zhí)行流程詳解
這篇文章主要為大家介紹了ThreadPoolExecutor參數(shù)含義及源碼執(zhí)行流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Java中List根據(jù)map的某個(gè)key去重的代碼
今天小編就為大家分享一篇關(guān)于Java中List根據(jù)map的某個(gè)key去重的代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12