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 = end + 1; 

      if(line.charAt(start) == '\"') {
        end = line.indexOf("\"", start ) + 1;
      } else {
        end = line.indexOf("," , start );
      } 

      if(end < 0) {
        //最后了
        end = line.length() ;
      } 

      String p1 = line.substring(start, end); 

      list.add(p1); 

      if(end >= line.length() - 1) {
        break;
      } 

    } 

    return list.toArray(new String[0]) ;
  }

利用的特性为:excel转储csv的时候,如果列值包含逗号会用双引号括起来。

以上就是java 分割csv数据的简单实例,如有疑问大家可以到本站留言,讨论,或者到本站搜索相关内容,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Java Swing中的工具栏(JToolBar)和分割面版(JSplitPane)组件使用案例

    一:工具栏(JToolBar) 代码示例: 复制代码 代码如下: import javax.swing.*; //工具栏的使用案例 public class JToolBarDemo2_jigloo extends javax.swing.JFrame { private JToolBar myJToolBar;  private JButton jB_file;  private JButton jB_edit;  private JButton jB_tools;  private JBut

  • Java实现文件分割和文件合并实例

    文件切割和文件合并这个问题困扰了我有一段时间了(超过一天没做粗来). 找了好多博客,本来想转载一个来的 结果找不到了.很无奈. 只好自己贴代码上了. 当然我会尽力好好写注释的. 文件切割器: import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; import java.util.Scanner; public c

  • java实现大文件分割与合并的实例代码

    复制代码 代码如下: package com.test; import java.io.BufferedReader;  import java.io.BufferedWriter;  import java.io.FileNotFoundException;  import java.io.FileReader;  import java.io.FileWriter;  import java.io.IOException;  import java.util.Collections;  im

  • java正则表达式四种常用的处理方式(匹配、分割、替代、获取)

    java 正则表达式高级篇,介绍四种常用的处理方式:匹配.分割.替代.获取,具体内容如下 package test; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 正则表达式 * 正则表达式 的用法主要是4种方面的使用 * 匹配,分割,替换,获取. * 用一些简单的符号来代表代码的操作 * @author cyc * */ public class Rex { public static void ma

  • java 流操作对文件的分割和合并的实例详解

    java 流操作对文件的分割和合并的实例详解 学习文件的输入输出流,自己做一个小的示例,对文件进行分割和合并. 下面是代码: package com.dufy.file; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.SequenceInputStream; import java.ut

  • Java 分割字符串详解及实例代码

     Java 分割字符串 java.lang.String 的 split() 方法, JDK 1.4 or later public String[] split(String regex,int limit) 示例代码 public class StringSplit { public static void main(String[] args) { String sourceStr = "1,2,3,4,5"; String[] sourceStrArray = sourceSt

  • Java将文件分割为多个子文件再将子文件合并成原始文件的示例

    Java将文件分割为多个子文件再将子文件合并成原始文件的示例,废话不多说,代码如下: import java.io.File; import java.io.InputStream; import java.io.FileInputStream; import java.io.OutputStream; import java.io.FileOutputStream; import java.util.Properties; import java.util.Iterator; import j

  • java分割日期时间段代码

    本文实例为大家分享了java切割日期时间段代码,供大家参考,具体内容如下 /** * @author dy * @since 2016-09-18 & JDK 1.8.0_91 */ public class DateCalculate { static Logger logger = LoggerFactory.getLogger(DateCalculate.class); /** * 切割时间段 * * @param dateType 交易类型 M/D/H/N -->每月/每天/每小时/

  • Java 使用IO流实现大文件的分割与合并实例详解

    Java 使用IO流实现大文件的分割与合并 文件分割应该算一个比较实用的功能,举例子说明吧比如说:你有一个3G的文件要从一台电脑Copy到另一台电脑, 但是你的存储设备(比如SD卡)只有1G ,这个时候就可以把这个文件切割成3个1G的文件 ,分开复制, 最后把三个文件合并, 这样就解决问题了 :再比如说, 你有一个上百M的文件要上传到FTP ,但是这个FTP限制你单个文件不能超过10M 这时候也可以用文件分割的办法解决问题.既然分割了,那么在我们再次使用的时候就需要合并了,今天我们就通过Java

  • java将图片分割为几个部分示例

    以下代码使用java将图片分割为几个部分,大家参考使用吧 复制代码 代码如下: public class SegmentationImage{ public static Icon Segmentation(String imagename,int Width,int Height,int height,int width) throws Exception{  // 准备分割图片 BufferedImage img1=ImageIO.read(new File(imagename));   

  • java 中用split分割字符串,最后的空格等不被拆分的方法

    在使用java中的split按照"\t",拆分字符串的时候,发现如果最后的几个字段是空,只是用\t分割,是连着的\t的话,就不会被分割,如 "d\tc\te\t\t\t"最后的几个\t就不会被分割,应该是在拆分之前对字符串进行了处理. 导致的拆分字段个数错误.查了一下APi,需要在split中添加参数-1,String[] values = line.split("\t",-1); imit 参数控制应用模式的次数,从而影响结果数组的长度 如果限

随机推荐