Java實現(xiàn)讀取csv文件的兩種方式
更新時間:2023年12月26日 11:05:13 作者:iverson_AL
這篇文章主要為大家詳細(xì)介紹了如何利用Java讀取csv文件的兩種方式,文中的示例代碼講解詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以了解一下
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[] 類型的 list 集合,則直接返回 arrList // 以下步驟是把 String[] 類型的 list 集合轉(zhuǎn)化為 String 類型的 list 集合 for (int row = 0; row < arrList.size(); row++) { // 組裝String字符串 // 如果不知道有多少列,則可再加一個循環(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項目中使用Sharding-JDBC實現(xiàn)讀寫分離的詳細(xì)步驟
Sharding-JDBC是一個分布式數(shù)據(jù)庫中間件,它不僅支持?jǐn)?shù)據(jù)分片,還可以輕松實現(xiàn)數(shù)據(jù)庫的讀寫分離,本文介紹如何在Spring Boot項目中集成Sharding-JDBC并實現(xiàn)讀寫分離的詳細(xì)步驟,需要的朋友可以參考下2024-08-08Java畢業(yè)設(shè)計實戰(zhàn)之藥店信息管理系統(tǒng)的實現(xiàn)
這是一個使用了java+SSM+JSP+layui+maven+mysql開發(fā)的藥店信息管理系統(tǒng),是一個畢業(yè)設(shè)計的實戰(zhàn)練習(xí),具有藥店信息管理該有的所有功能,感興趣的朋友快來看看吧2022-01-01java編程實現(xiàn)獲取服務(wù)器IP地址及MAC地址的方法
這篇文章主要介紹了java編程實現(xiàn)獲取機(jī)器IP地址及MAC地址的方法,實例分析了Java分別針對單網(wǎng)卡及多網(wǎng)卡的情況下獲取服務(wù)器IP地址與MAC地址的相關(guān)技巧,需要的朋友可以參考下2015-11-11