Java實(shí)現(xiàn)讀取csv文件的兩種方式
java讀取csv文件的兩種方式
1.CsvReader讀取
import com.csvreader.CsvReader; /** * CsvReader 讀取 * @param filePath * @return */ public static ArrayList<String> readCsvByCsvReader(String filePath) { ArrayList<String> strList = null; try { ArrayList<String[]> arrList = new ArrayList<String[]>(); strList = new ArrayList<String>(); CsvReader reader = new CsvReader(filePath, ',', Charset.forName("UTF-8")); while (reader.readRecord()) { // System.out.println(Arrays.asList(reader.getValues())); arrList.add(reader.getValues()); // 按行讀取,并把每一行的數(shù)據(jù)添加到list集合 } reader.close(); System.out.println("讀取的行數(shù):" + arrList.size()); // 如果要返回 String[] 類(lèi)型的 list 集合,則直接返回 arrList // 以下步驟是把 String[] 類(lèi)型的 list 集合轉(zhuǎn)化為 String 類(lèi)型的 list 集合 for (int row = 0; row < arrList.size(); row++) { // 組裝String字符串 // 如果不知道有多少列,則可再加一個(gè)循環(huán) String ele = arrList.get(row)[0] + "," + arrList.get(row)[1] + "," + arrList.get(row)[2] + "," + arrList.get(row)[3] ; System.out.println(ele); strList.add(ele); } } catch (Exception e) { e.printStackTrace(); } return strList; }
CsvReader方式需要引入jar包,pom配置如下
<!--csv文件操作--> <dependency> <groupId>net.sourceforge.javacsv</groupId> <artifactId>javacsv</artifactId> <version>2.0</version> </dependency>
2.BufferedReader讀取
/** * BufferedReader 讀取 * @param filePath * @return */ public static ArrayList<String> readCsvByBufferedReader(String filePath) { File csv = new File(filePath); csv.setReadable(true); csv.setWritable(true); InputStreamReader isr = null; BufferedReader br = null; try { isr = new InputStreamReader(new FileInputStream(csv), "UTF-8"); br = new BufferedReader(isr); } catch (Exception e) { e.printStackTrace(); } String line = ""; ArrayList<String> records = new ArrayList<>(); try { while ((line = br.readLine()) != null) { System.out.println(line); records.add(line); } System.out.println("csv表格讀取行數(shù):" + records.size()); } catch (IOException e) { e.printStackTrace(); } return records; }
到此這篇關(guān)于Java讀取csv文件的兩種方式的文章就介紹到這了,更多相關(guān)Java讀取csv文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項(xiàng)目中使用Sharding-JDBC實(shí)現(xiàn)讀寫(xiě)分離的詳細(xì)步驟
Sharding-JDBC是一個(gè)分布式數(shù)據(jù)庫(kù)中間件,它不僅支持?jǐn)?shù)據(jù)分片,還可以輕松實(shí)現(xiàn)數(shù)據(jù)庫(kù)的讀寫(xiě)分離,本文介紹如何在Spring Boot項(xiàng)目中集成Sharding-JDBC并實(shí)現(xiàn)讀寫(xiě)分離的詳細(xì)步驟,需要的朋友可以參考下2024-08-08Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之藥店信息管理系統(tǒng)的實(shí)現(xiàn)
這是一個(gè)使用了java+SSM+JSP+layui+maven+mysql開(kāi)發(fā)的藥店信息管理系統(tǒng),是一個(gè)畢業(yè)設(shè)計(jì)的實(shí)戰(zhàn)練習(xí),具有藥店信息管理該有的所有功能,感興趣的朋友快來(lái)看看吧2022-01-01java編程實(shí)現(xiàn)獲取服務(wù)器IP地址及MAC地址的方法
這篇文章主要介紹了java編程實(shí)現(xiàn)獲取機(jī)器IP地址及MAC地址的方法,實(shí)例分析了Java分別針對(duì)單網(wǎng)卡及多網(wǎng)卡的情況下獲取服務(wù)器IP地址與MAC地址的相關(guān)技巧,需要的朋友可以參考下2015-11-11Java?JDBC高封裝Util類(lèi)的項(xiàng)目實(shí)踐
這篇文章主要介紹了Java?JDBC高封裝Util類(lèi)的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08java isInterrupted()判斷線程的實(shí)例講解
在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于java isInterrupted()判斷線程的實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-05-05