java读取csv文件的两种方式

java读取csv文件的两种方式java 读取 csv 文件的两种方式 1 CsvReader 读取 importcom csvreader CsvReader CsvReader 读取 paramfilePat return publicstatic String readCsvByCsv StringfilePa ArrayList String strList n String String

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()); // 按行读取,并把每一行的数据添加到list集合 } reader.close(); System.out.println("读取的行数:" + arrList.size()); // 如果要返回 String[] 类型的 list 集合,则直接返回 arrList // 以下步骤是把 String[] 类型的 list 集合转化为 String 类型的 list 集合 for (int row = 0; row < arrList.size(); row++) { 
    // 组装String字符串 // 如果不知道有多少列,则可再加一个循环 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配置如下

 
    <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表格读取行数:" + records.size()); } catch (IOException e) { 
    e.printStackTrace(); } return records; } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207785.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午1:06
下一篇 2026年3月19日 下午1:07


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号