【jmeter】beanshell java处理本地大文件,每隔n行分隔成一行生成新的参数化文件

BeanShell Sampler

import java.io.BufferedWriter;
import java.util.Scanner;
import java.io.File;
import java.io.FileWriter;

String sourceFile="C://xxx.txt";//原文件路径
String targetDirectoryPath="C://xxx_new.txt";//生成新的文件路径
//String sourceFile=vars.get("filepath"); //原文件路径
//String targetDirectoryPath=vars.get("filepath1"); //生成新的文件路径
int rows=20; //分割行数

    Scanner scanner = new Scanner(new File(sourceFile)); 
	FileWriter fw = new FileWriter(targetDirectoryPath, true);
	BufferedWriter bw = new BufferedWriter(fw);
	StringBuilder stringBuilder = new StringBuilder();
	int lineNo = 0;
	while (scanner.hasNextLine()){
		lineNo++;
		String row=scanner.nextLine();
		stringBuilder.append(row).append(",");			
		if (lineNo % rows == 0){	      
		      bw.write(stringBuilder.toString());
		      //log.info("分割::::"+stringBuilder+"\n");
		      bw.write(System.getProperty("line.separator"));
		      bw.flush();
		      fw.flush();
		      stringBuilder.delete(0, stringBuilder.length());
			
		}
		
	}
	bw.close();
	fw.close();

你可能感兴趣的:(java,jmeter,开发语言)