Javacsv實(shí)現(xiàn)Java讀寫(xiě)csv文件
今天跟大家分享一個(gè)利用外部Jar包來(lái)實(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說(shuō)明:javacsv.sourceforge.net
二.操作演示
1.寫(xiě)CSV文件案例
public static void writeCSV() { // 定義一個(gè)CSV路徑 String csvFilePath = "D://StemQ.csv"; try { // 創(chuàng)建CSV寫(xiě)對(duì)象 例如:CsvWriter(文件路徑,分隔符,編碼格式); CsvWriter csvWriter = new CsvWriter(csvFilePath, ',', Charset.forName("UTF-8")); // 寫(xiě)表頭 String[] csvHeaders = { "編號(hào)", "姓名", "年齡" }; csvWriter.writeRecord(csvHeaders); // 寫(xiě)內(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)寫(xiě)入--------"); } catch (IOException e) { e.printStackTrace(); } }
2.讀CSV文件案例
public static void readCSV() { try { // 用來(lái)保存數(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")); // 跳過(guò)表頭 如果需要表頭的話,這句可以忽略 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á)式查詢(xún)報(bào)錯(cuò)的方法
這篇文章主要介紹了解決mybatis-plus3.1.1版本使用lambda表達(dá)式查詢(xún)報(bào)錯(cuò)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Seata?AT獲取數(shù)據(jù)表元數(shù)據(jù)源碼詳解
這篇文章主要為大家介紹了Seata?AT獲取數(shù)據(jù)表元數(shù)據(jù)源碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11JAVA三種攔截方式詳解(原生過(guò)濾器Filter、springMVC攔截器、aop切面)
在Java開(kāi)發(fā)中方法攔截是一種常見(jiàn)的技術(shù),可以用于在方法執(zhí)行前后添加額外的邏輯或修改方法的行為,這篇文章主要給大家介紹了關(guān)于JAVA三種攔截方式的相關(guān)資料,文中介紹的方式分別是原生過(guò)濾器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è)問(wèn)題我百度了好多資料,最終小編總結(jié)下關(guān)于Java?中的?clone(?)?和?new哪個(gè)效率更高的問(wèn)題,感興趣的朋友跟隨小編一起看看吧2021-12-12解決Intellij IDEA 使用Spring-boot-devTools無(wú)效的問(wèn)題
下面小編就為大家?guī)?lái)一篇解決Intellij IDEA 使用Spring-boot-devTools無(wú)效的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧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去重的代碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12