java 分割csv数据的实例详解

时间:2022-09-23 09:21:48

java 分割csv数据的实例详解

实际需要解析的csv中很多都是从excel中转过来的,数据中本身包含了逗号的数据导致split的过程中发现数据对不上,因此,基于这种特性,重新写了一个csv数据的分割方法:

实现代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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数据的简单实例,如有疑问大家可以到本站留言,讨论,或者到本站搜索相关内容,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://jjxliu306.iteye.com/blog/2383856