Javacsv实现Java读写csv文件

今天跟大家分享一个利用外部Jar包来实现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() {
  // 定义一个CSV路径
  String csvFilePath = "D://StemQ.csv";
  try {
    // 创建CSV写对象 例如:CsvWriter(文件路径,分隔符,编码格式);
    CsvWriter csvWriter = new CsvWriter(csvFilePath, ',', Charset.forName("UTF-8"));
    // 写表头
    String[] csvHeaders = { "编号", "姓名", "年龄" };
    csvWriter.writeRecord(csvHeaders);
    // 写内容
    for (int i = 0; i < 20; i++) {
      String[] csvContent = { i + "000000", "StemQ", "1" + i };
      csvWriter.writeRecord(csvContent);
    }
    csvWriter.close();
    System.out.println("--------CSV文件已经写入--------");
  } catch (IOException e) {
    e.printStackTrace();
  }
}

2.读CSV文件案例

public static void readCSV() {
  try {
    // 用来保存数据
    ArrayList<String[]> csvFileList = new ArrayList<String[]>();
    // 定义一个CSV路径
    String csvFilePath = "D://StemQ.csv";
    // 创建CSV读对象 例如:CsvReader(文件路径,分隔符,编码格式);
    CsvReader reader = new CsvReader(csvFilePath, ',', Charset.forName("UTF-8"));
    // 跳过表头 如果需要表头的话,这句可以忽略
    reader.readHeaders();
    // 逐行读入除表头的数据
    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列的数据
      String cell = csvFileList.get(row)[0];
      System.out.println("------------>"+cell);
    }
  } catch (IOException e) {
    e.printStackTrace();
  }
}

三.总结

以上内容就是利用JavaCSV.jar操作的简单示例,可以根据自己的项目需求进行酌情修改。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。