我尝试将jmeter .jtl文件转换为csv文件。 jtl文件的每一行都包含用逗号分隔的变量,就像在普通的csv文件中一样。 例如:a,b,c,d,e,f 但是,在某些行中,引号内有多个分隔符,如逗号(,)和逗号(",")。 例如:a,b," c,d",e,f 我可以通过读取jtl文件轻松解析逗号分隔值。但是当我在引号分隔符中遇到逗号时,通过代码无法生成有用的结果。 我试图使用java multi split,但问题仍然存在。
我的java代码如下:
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(new BufferedInputStream(new FileInputStream(new File("D:/apache-jmeter-2.11/apache-jmeter-2.11/bin/")))));
while((line = reader.readLine()) !=null){
String[] datas = line.split("[,\",\"]");
p.println(datas[0] + "," + datas[5] + "," + datas[2] + "," + datas[1] + "," + datas[3] + "," + datas[8] + "," + datas[9]);
}
我使用split来分割使用(,)和(",")。我如何重写代码以便解决问题。
答案 0 :(得分:0)
使用此库可以为您处理:
阅读javadoc以了解如何指定格式:
答案 1 :(得分:0)
对我而言,您正在寻找的是您可以使用的现有CSV处理库。我成功地使用OpenCSV来处理JMeter输出,但这显然只是众多可能选项之一。
答案 2 :(得分:0)
使用uniVocity-parsers阅读:
CsvParserSettings settings = new CsvParserSettings(); //many options to configure the format and the parser here. Check the tutorial
CsvParser parser = new CsvParser(settings);
List<String[]> allRows = parser.parseAll(
new FileReader(new File("D:/apache-jmeter-2.11/apache-jmeter-2.11/bin/")));
披露:我是这个图书馆的作者。它是开源和免费的(Apache V2.0许可证)。