IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Jmeter BeanShell Sampler实现大文件分割/拆分(分割成多个指定数量文件) -> 正文阅读

[开发测试]Jmeter BeanShell Sampler实现大文件分割/拆分(分割成多个指定数量文件)

性能测试时,有时需要对参数化大文件进行分割,分割数量依赖远程负载机的数量。

以下为例,把csv或txt等格式大文件分割成10份。

使用Jmeter BeanShell Sampler实现方式如下:

beanshell代码:

import java.io.*;

?? ?String targetFile = "C:\\tools\\apache-jmeter-3.2-plugins\\bin\\csh\\playGameVar.txt";//源文件目录
?? ?
?? ?String saveDir = "C:\\tools\\apache-jmeter-3.2-plugins\\bin\\csh";//分割后文件目录
?? ?
?? ?String saveFileName = "playGameVar";//分割后文件名开头
?? ?
?? ?String suffix = "txt";//分割后文件格式后缀
?? ?
?? ?long splitSize = 10000;//每个文件记录条数

?? ?
?? ? public static void splitFile(String targetFile, String saveDir , String saveFileName, String suffix,long splitSize) throws Exception {
?? ?
?? ? ? ? ? ?if( !saveDir.endsWith("\\") ){
?? ? ? ? ? ? ? ?saveDir += File.separator;
?? ? ? ? ? ?}
?? ?
?? ? ? ? ? ?File file = new File(targetFile);
?? ? ? ? ? ?if (!file.exists()) {
?? ? ? ? ? ? ? ?throw new Exception("目标路径:[ " + targetFile + " ] 有错误...");
?? ? ? ? ? ?}
?? ?
?? ? ? ? ? ?BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
?? ?
?? ? ? ? ? ?String str = null;
?? ? ? ? ? ?
?? ? ? ? ? ?long len = 0;
?? ?
?? ? ? ? ? ?System.out.println("开始写入......请等待......");
?? ? ? ? ? ?long startTime = System.currentTimeMillis();
?? ? ? ? ??
?? ? ? ? ? ?BufferedWriter writer = null;
?? ? ? ? ? ?while ((str = reader.readLine()) != null) {
?? ? ? ? ? ? ? ?long txtSize = (len / splitSize) + 1;
?? ? ? ? ? ? ? ?String fileName = saveDir + saveFileName + txtSize + "." + suffix;
?? ?
?? ? ? ? ? ? ? ?writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName, true)));
?? ? ? ? ? ? ? ?writer.write(str + System.lineSeparator() );
?? ? ? ? ? ? ? ?writer.flush();
?? ? ? ? ? ? ? ?len ++;
?? ? ? ? ? ?}
?? ? ? ? ? ?writer.close();
?? ? ? ? ? ?reader.close();
?? ?
?? ? ? ? ? ?System.out.println("写入完毕,一共 " + len + " 记录,耗时:" + ( System.currentTimeMillis() - startTime ) / 1000 + " s" );
?? ?}

? ? try {
?? ? ?splitFile(targetFile, saveDir, saveFileName, suffix, splitSize); //调用文件分割方法
?? ?} catch (Exception e) {
?? ? ?e.printStackTrace();
?? ?}
? ??

?分割后文件一览

如转载,记得带上?Jmeter BeanShell Sampler实现大文件分割/拆分(分割成多个指定数量文件)_junior77的专栏-CSDN博客,谢谢!

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-18 10:30:21  更:2021-09-18 10:32:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 20:40:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码