关于CSV文件的读写问题(特别是有双引号和逗号的情况) 您所在的位置:网站首页 php字段内容里有变量怎么输出 关于CSV文件的读写问题(特别是有双引号和逗号的情况)

关于CSV文件的读写问题(特别是有双引号和逗号的情况)

2024-05-30 16:41| 来源: 网络整理| 查看: 265

一. 对于CSV的读写既可以像读写txt文件似的读写 /*===================读文件=======================*/ InputStreamReader read = new InputStreamReader( new FileInputStream(file),encoding);//考虑到编码格式 BufferedReader bufferedReader = new BufferedReader(read); String lineTxt; while((lineTxt = bufferedReader.readLine()) != null ){ if(!lineTxt.trim().equals("")) { String[] temp = lineTxt.split("\t",-1); txtList.add(temp); } } read.close(); /*==================写文件========================*/ File txtFile = new File(filePath); //追加 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(txtFile, true),encoding)); if(content != null && content.size()>0){ for(Integer i=0 ; i 0){ for(Integer j=0; j=2) { if(str.indexOf("\"")==0) str = str.substring(1,str.length()); //去掉第一个 " if(str.lastIndexOf("\"")==(str.length()-1)) str = str.substring(0,str.length()-1); //去掉最后一个 " str = str.replaceAll("\"\"","\"");//把两个双引号换成一个双引号 } return str; } String tempValue = ClassUtil.clearStartAndEndQuote(temp[j]); 三. 文本内容的逗号分隔(参考文章)

当大家进行这一操作的时候通常会遇到如下问题。 1: 想分割数据 例如:

"123","Jack jona","Computer science" "234","Joen Dan", "Philosophy"

//当遇到这种数据的时候可直接用 逗号进行分割。

String[] strArr = str.trim().split(",",-1);

2: 分割数据如下:

"123", "jack jona", "New York, NY" "234", "Lee Jack", "Fort myers, FL"

//当遇到这种数据的时候可以直接使用

String[] strArr = str.trim().split(",(?=([^\\\"]*\\\"[^\\\"]*\\\")*[^\\\"]*$)",-1); //双引号内的逗号不分割 双引号外的逗号进行分割

//进行分割。 这种的好处是只对引号外面的逗号进行分割,对引号内的不分割。 //简单的说这种分割得出的结果是 123| jack jona| New York, NY 234| Lee Jack| Fort myers, FL



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有