csv文件导入导出(javacsv)

  1. maven
     <dependency>
        <groupId>net.sourceforge.javacsv</groupId>
        <artifactId>javacsv</artifactId>
        <version>2.0</version>
     </dependency>
  1. API
  • CsvWriter (写文件)

    1. 构造方法

      参数描述
      String path, char deli, Charset charset设置cvs输出路径,分隔符及字符集
      String var1设置cvs输出路径,默认分隔符"," 默认字符集 ISO-8859-1
      Writer var1, char deli设置字符流及分隔符
      OutputStream out, char d, Charset set设置输出流,分隔符及字符集
    2. 方法

      方法描述
      setDelimiter(char var1)设置分割符,可在构造方法中设置
      setRecordDelimiter(char var1)设置每行的定界符,默认为 换行符 \n
      setTextQualifier(char var1)设置文本定界符,默认 双引号 "
      setUseTextQualifier(boolean var1)默认为true,当每项中内含有定界符时,添加文本定界符
      setEscapeMode(int var1)默认为1,为2时,含有文本定界符的项做转义处理
      setComment(char var1)设置注解字符,默认为 井号 #
      setForceQualifier(boolean var1)默认为false,为true时,每项都添加文本定界符
      write(String var1, boolean var2)在最后一行最后写入一项,var2为false时var1做trim处理
      write(String var1)在最后一行最后写入一项,var2为false
      writeComment(String var1)写入注释,var1加注释符前缀
      writeRecord(String[] v1, boolean v2)在最后写入一行数据,v2为false时var1做trim处理
      writeRecord(String[] v1)在最后写入一行数据,v2为false
      endRecord()换行
      flush()刷新流
      close()关闭流
      replace(String v0, String vr1, String v2)静态方法,v0中的vr1替换为v2
  • CsvReader (读文件)

    1. 构造方法

      参数描述
      String var1, char var2, Charset var3设置cvs文件路径,分隔符及编码集
      String var1, char var2设置cvs文件路径,分隔符,默认编码集为ISO-8859-1
      String var1设置cvs文件路径,默认分隔符逗号,默认编码集为ISO-8859-1
      Reader var1, char var2设置读取字符流及分割符
      Reader var1设置读取字符流,默认分割符 逗号
      InputStream v1, char v2, Charset v3设置输入流,分隔符及编码集
      InputStream var1, Charset var2设置输入流及编码集,默认分隔符 逗号
    2. 方法

      方法描述
      readHeaders()是否有当前一行(用于迭代)
      getHeaders()获取当前行,返回数组(用于迭代)
      getHeader(int var1)获取当前行索引处的值(用于迭代)
      getHeaderCount()获取总行数(用于迭代)
      readRecord()是否有当前一行记录(用于迭代)
      getRawRecord()获取当前行记录,返回字符串(用于迭代)
      get(int var1)获取当前行记录索引处的值(用于迭代)
      getColumnCount()获取总行数(用于迭代)
      getCurrentRecord()当前记录索引数
      getValues()获取当前行所有值
      setUseComments(boolean var1)默认为false,设置为true,不读取注解数据
      setTrimWhitespace(boolean var1)默认为true,设置为false,给字段值不进行trim处理
      setComment(char var1)设置cvs文件中的注释字符,默认为#
      setDelimiter(char var1)设置分隔符,默认 ,
      setRecordDelimiter(char var1)设置每行记录分割符 ,默认为 换行符\n
      skipRecord()跳过当前记录
      close()关闭
  1. 示例

    • cvs文件写入
     CsvWriter csvWriter=new CsvWriter("D:/demo/cvs/1599010631365_test.csv");
     csvWriter.writeRecord(new String[]{"姓名","年龄"});//写入头信息
     csvWriter.writeComment("注解");
     csvWriter.writeRecord(new String[]{"zp","28"});//写入头信息
  • cvs文件读取
     CsvReader csvReader=new CsvReader("D:/demo/cvs/1599010631365_test.csv");
     while (csvReader.readHeaders()){
         String header = csvReader.getHeader(0);// 读第一列数据
         String[] headers = csvReader.getHeaders();// 读一整行
         int headerCount = csvReader.getHeaderCount();//总行数
         System.out.println(headerCount);
     }
while (csvReader.readRecord()){
    int columnCount = csvReader.getColumnCount();//总行数
    String rawRecord = csvReader.getRawRecord();//读取一行记录
    String s = csvReader.get(0);//读取第一列
    long currentRecord = csvReader.getCurrentRecord();//当前记录索引数
    String[] values = csvReader.getValues();//获取当前行所有值
    System.out.println(currentRecord);
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑重其事,鹏程万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值