java实现CSV 字段分割

支持引号嵌套,逗号分割

private static String[] cvsField(String line){
    List<String> fields = new LinkedList<>();
    char[] alpah = line.toCharArray();
    boolean isFieldStart = true;
    int pos = 0; int len = 0; boolean yinhao = false;
    for(char c : alpah){
      if(isFieldStart){
        len = 0;
        isFieldStart = false;
      }
      if(c == '\"'){
        yinhao = !yinhao;
      }
      if(c == ',' && !yinhao){
        fields.add(new String(alpah, pos - len, len));
        isFieldStart = true;
      }
      pos++; len++;
    }
    return fields.toArray(new String[0]);
  }

以上所述就是本文的全部内容了,希望大家能够喜欢。

(0)

相关推荐

  • java 分割csv数据的实例详解

    java 分割csv数据的实例详解 实际需要解析的csv中很多都是从excel中转过来的,数据中本身包含了逗号的数据导致split的过程中发现数据对不上,因此,基于这种特性,重新写了一个csv数据的分割方法: 实现代码: public static String[] split(String line) { List<String> list = new ArrayList<>(); int start = 0; int end = -1; while(true) { start

  • java实现CSV 字段分割

    支持引号嵌套,逗号分割 private static String[] cvsField(String line){ List<String> fields = new LinkedList<>(); char[] alpah = line.toCharArray(); boolean isFieldStart = true; int pos = 0; int len = 0; boolean yinhao = false; for(char c : alpah){ if(isFi

  • JAVA导出CSV文件实例教程

    以前导出总是用POI导出为Excel文件,后来当我了解到CSV以后,我发现速度飞快. 如果导出的数据不要求格式.样式.公式等等,建议最好导成CSV文件,因为真的很快. 虽然我们可以用Java再带的文件相关的类去操作以生成一个CSV文件,但事实上有好多第三方类库也提供了类似的功能. 这里我们使用apache提供的commons-csv组件 Commons CSV 文档在这里 http://commons.apache.org/ http://commons.apache.org/proper/co

  • Java将CSV的数据发送到kafka的示例

    为什么将CSV的数据发到kafka flink做流式计算时,选用kafka消息作为数据源是常用手段,因此在学习和开发flink过程中,也会将数据集文件中的记录发送到kafka,来模拟不间断数据: 整个流程如下: 您可能会觉得这样做多此一举:flink直接读取CSV不就行了吗?这样做的原因如下: 首先,这是学习和开发时的做法,数据集是CSV文件,而生产环境的实时数据却是kafka数据源: 其次,Java应用中可以加入一些特殊逻辑,例如数据处理,汇总统计(用来和flink结果对比验证): 另外,如果

  • Java导出CSV文件的方法

    本文实例为大家分享了Java导出CSV文件的具体代码,供大家参考,具体内容如下 Java导出csv文件: 控制层: @Controller @RequestMapping("/historyReport/") public class HistoryStockReportController { private static final Logger LOGGER = LoggerFactory.getLogger(HistoryStockReportController.class)

  • Java实现CSV格式转对象

    目录 介紹 参考代码 测试用例 介紹 csv全称“Comma-Separated Values”,是一种逗号分隔值格式的文件,是一种用来存储数据的纯文本格式文件.CSV文件由任意数目的记录组成,记录间以某种换行符分隔:每条记录由字段组成,字段间的分隔符是其它字符或字符串. 我找了找目前百度上基本是没有这方面的快捷转换方式和工具包,能找到的基本都不能通用写死的,没办法只能自己写一份出来,主要用到的技术,反射,泛型,类型转换,构造者设计模式 ,以下代码给提供一个思路,技术差不多的话基本上看了下面的代

  • Java 导出 CSV 文件操作详情

    首先第一步 导入坐标: <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-csv</artifactId> <version>1.6</version> </dependency> 第二步 引入工具类 说明下 因为这个工具类用到是Listj集合我就顺带吧 实体类和map 之间的转换也说了 import org.apach

  • Java生成CSV文件实例详解

    本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputS

  • java中判断字段真实长度的实例(中文2个字符,英文1个字符)

    实例如下: public class Char_cn { public static void main(String[] args) { // TODO Auto-generated method stub String haha = "我叫兜兜abcd"; int true_num = String_length(haha); System.out.println("true" + true_num); int false_num = haha.length()

  • 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>

  • java导出csv格式文件的方法

    本文实例为大家分享了java导出csv格式文件的具体代码,供大家参考,具体内容如下 导出csv格式文件的本质是导出以逗号为分隔的文本数据 import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException

随机推荐