前言:
需要永久性的改变变量。
其实这个办法并不是最好的,但是是最容易实现的。后期可做成从数据库里直接取值。
赋值BeanShell
import java.io.File; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileWriter; import java.util.ArrayList; import java.util.List; private String stringLine=""; public static int getPrice(int k) { // /* 读入TXT文件 */ String pathname = "D:\\Java\\Jmeter\\apache-jmeter-5.0\\bin\\DaiShouFuLuRuYongHu.txt"; // 绝对路径或相对路径都可以,这里是绝对路径 File filename = new File(pathname); // 要读取以上路径的input。txt文件 InputStreamReader reader = new InputStreamReader(new FileInputStream(filename)); // 建立一个输入流对象reader BufferedReader br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言 List line = new ArrayList(); List lineint = new ArrayList(); int i=0; String[] s = br.readLine().split(","); for(i =0 ; i<s.length; i++){ line.add(s[i]); } for (i = 0;i<line.size();i++) { //去掉多余的空格 String b = line.get(i).toString().trim(); //转成int并存储 lineint.add(Integer.parseInt(b)+1); System.out.println(i+"I:"+lineint.get(i)); } //转成字符串 stringLine = ""; for (i = 0;i<line.size();i++) { //转成字符 String b = String.valueOf(lineint.get(i)); //转成String并存储 if(i!=0) { stringLine += ","; } stringLine+=b; } System.out.println(stringLine); return lineint.get(k); } public static void setTxt() { System.out.println("输入中"); File writename = new File("D:\\Java\\Jmeter\\apache-jmeter-5.0\\bin\\DaiShouFuLuRuYongHu.txt");// 相对路径,如果没有则要建立一个新的output。txt文件 //writename.createNewFile(); // 创建新文件 BufferedWriter out = new BufferedWriter(new FileWriter(writename)); System.out.println("输入中"); out.write(stringLine); // 即为换行 out.flush(); // 把缓存区内容压入文件 out.close(); // 最后记得关闭文件 } //vars.get("${merchantName}"); int cc = getPrice(0); String aa = vars.get("merchantName"); aa+=cc; vars.put("merchantName",aa); int dd = getPrice(1); String ddd = ""; ddd+=dd; vars.put("SPid",ddd); System.out.println(stringLine); setTxt(); System.out.println("写入文件成功");