一、csv保留逗号,写入一列
Jmeter执行写入csv文件的时候,如果有逗号,会将写入内容分隔成两列。为了让内容不分隔成两列,而是存在一列中,就需要处理逗号进行保留
给a赋值为:qqq,qqq,qq
里面含有两个逗号
在写入的时候,把a当做一整个字符串写入,所以需要在a的左右加上 ” 双引号,out.write(“a”);
但语法中不支持直接加双引号,需要进行转义 ” 双引号加上转义就是 \” ,out.write(\“a\”);
因为a是一个参数,所以需要用 + 将a和双引号拼接,拼接时,引号外面还要加一层引号,才能变成正常的字符串,就变成了 out.write(" \" " + a + " \" ");
源代码:
FileWriter fstream = new FileWriter("E:\\order06.csv",true);
BufferedWriter out = new BufferedWriter(fstream);
a="qqq,qqq,qq";
out.write("\""+a+"\"");
out.close();
fstream.close();
执行后的结果:
二、csv保留引号
当保存的数据里面有引号时,需要将 " 双引号转转义,就是 \"
要写出:ggg"gggggg"ggg
1.直接写出参数
给b赋值为:ggg"ggggg"gggg
里面含有两个引号
通过在b参数里面加转义,b="ggg\"ggggg\“gggg”;
out.write(b); 直接写出
FileWriter fstream = new FileWriter("E:\\order06.csv",true);
BufferedWriter out = new BufferedWriter(fstream);
b="ggg\"ggggg\"gggg";
out.write(b);
out.close();
fstream.close();
2.参数左右加引号写出
out.write(" \" “+b+” \" "); 写出的时候在b左右加了双引号,这样会使原来b里面的引号失效,所以b参数的引号要写两个
需要将 b="ggg\"gggggg\“ggg”; 改成 b=“ggg\”\“gggggg\”\“ggg”;
这样写出来的才是正确的
FileWriter fstream = new FileWriter("E:\\order2.csv",true);
BufferedWriter out = new BufferedWriter(fstream);
b="ggg\"\"gggggg\"\"ggg";
out.write("\""+b+"\"");
out.close();
fstream.close();
三、csv保留引号和逗号
为了保留逗号,写出时 out.write(" \" “+c+” \" “);
因为写出的时候左右有引号,所以参数中的双引号 \” 都要写两个,就是 \"\"
FileWriter fstream = new FileWriter("E:\\order2.csv",true);
BufferedWriter out = new BufferedWriter(fstream);
a="qqq,qqq,qq";
b="ggg\"\"gggggg\"\"ggg";
c=b + "\"\"" + a + "\"\"" +b;
out.write("\""+c+"\"");
out.close();
fstream.close();
总结:
当写出有逗号时,要以这样的格式写出:out.write(" \" “+d+” \" ");
在值左右加引号
当写出有引号时,要在参数里面的引号左右加引号:b="ggg\"gggggg\“ggg”;
当逗号和引号都有时,格式还是写出:out.write(" \" “+d+” \" ");
而参数里面的引号左右要加两个引号:b=“ggg\”\“gggggg\”\“ggg”;