Jmeter书中不会教你的(27)——写入csv文件的字段含有双引号及逗号处理

        上一节中讲了如果写入字段中只含有逗号,则在写入时将整个写入的字符串加双引号即可。

1)如果写入的字段中只有双引号会是什么情况?比如要写入detail2

//定义一个写入csv文件的地址
String filePath1 = "D://xntest//result.csv";

//定义一个写入的字段
String detail1="你好,jmeter";
String detail2="学\"jmeter\"呀";
//String detail3="你好,\"jmeter\"呀!";
//创建写入对象
FileWriter fw=new FileWriter(filePath1,true);
BufferedWriter bw=new BufferedWriter(fw);
//bw.write(detail1+"\n");
//逗号处理
//bw.write("\""+detail1+"\""+"\n");
//含有双引号
bw.write(detail2+"\n");

bw.flush();
fw.close();

执行结果如下,没有问题

2)如果写入的字段中即含有逗号,又含有双引号如何?比如detail3

//定义一个写入csv文件的地址
String filePath1 = "D://xntest//result.csv";

//定义一个写入的字段
String detail1="你好,jmeter";
//String detail2="学\"jmeter\"呀";
String detail3="你好,\"jmeter\"呀!";
//创建写入对象
FileWriter fw=new FileWriter(filePath1,true);
BufferedWriter bw=new BufferedWriter(fw);
//bw.write(detail1+"\n");
//逗号处理
//bw.write("\""+detail1+"\""+"\n");
//含有双引号
//bw.write(detail2+"\n");

//即有双引号又有逗号
bw.write(detail3+"\n");

bw.flush();
fw.close();

从结果树中看出,逗号的存在分成了两列,并且原本jmeter有双引号的也没有了

解决方案:

既然逗号要加双引号写入,先加一个双引号看下效果。结果没有分割,双引号的位置不对了。

bw.write("\""+detail3+"\""+"\n");

怎么办?讲一个诀窍

如果字段中有逗号(,),该字段使用双引号(”)括起来;

如果该字段中有双引号,该双引号前要再加一个双引号,然后把该字段使用双引号括起来。

所以在我们已知有双引号的情况下,先在双引号前再加一个双引号,如字段detail4,在jmeter有双引号下再增加一个双引号

//定义一个写入csv文件的地址
String filePath1 = "D://xntest//result.csv";

//定义一个写入的字段
String detail1="你好,jmeter";
//String detail2="学\"jmeter\"呀";
String detail3="你好,\"jmeter\"呀!";
String detail4="你好,\"\"jmeter\"\"呀!";
//创建写入对象
FileWriter fw=new FileWriter(filePath1,true);
BufferedWriter bw=new BufferedWriter(fw);
//bw.write(detail1+"\n");
//逗号处理
//bw.write("\""+detail1+"\""+"\n");
//含有双引号
//bw.write(detail2+"\n");

//即有双引号又有逗号
//bw.write(detail3+"\n");
bw.write("\""+detail3+"\""+"\n");
bw.write("\""+detail4+"\""+"\n");
bw.flush();
fw.close();

执行后的结果

-------------------------------------------------------------------------------

如果觉得我的文章对您有用,请收藏+关注,您的支持是我坚持的动力!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

agrapea

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

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

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

打赏作者

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

抵扣说明:

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

余额充值