java 操作命令行
目的:用java进行调用ab压测
window: cmd ab.exe
linux: sh ab.sh
命令: abs -n 500 -c 10 https://www.baidu.com/ > out.txt 简单直观可靠
那么用java如何调用ab进行压测呢
方法一
public static void methodOne() {
String path;
if (HostUtils.isWindows()) {
path = "D:\\softInstall\\wamp2016_new\\bin\\apache\\apache2.4.9\\bin\\";
String cmd = "cmd /C abs -n 300 -c 100 https://www.baidu.com/ >>abc.txt";
String[] cmd2 = new String[]{"cmd", "/C", "abs", "-n", "300", "-c", "100", "https://www.baidu.com/", ">>abc.txt"};
try {
Process process = Runtime.getRuntime().exec(cmd2, null, new File(path));
process.waitFor();
InputStream inputStream = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, "gb2312"));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
方法二
public static void methodTwo() {
try {
String result = new ProcessExecutor().command("cmd", "/C", "D:\\softInstall\\wamp2016_new\\bin\\apache\\apache2.4.9\\bin\\abs", "-n 300", "-c 100", "https://www.baidu.com/", ">>D:\\softInstall\\wamp2016_new\\bin\\apache\\apache2.4.9\\bin\\aa.txt")
.timeout(60, TimeUnit.SECONDS)
.readOutput(true).execute()
.outputUTF8();
System.out.println(result);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (TimeoutException e) {
e.printStackTrace();
}
}
方法三
public static void methodThree() {
try {
Future<ProcessResult> cmd = new ProcessExecutor().command("cmd", "/C", "D:\\softInstall\\wamp2016_new\\bin\\apache\\apache2.4.9\\bin\\abs", "-n 300", "-c 100", "https://www.baidu.com/", ">>D:\\softInstall\\wamp2016_new\\bin\\apache\\apache2.4.9\\bin\\aa.txt")
.timeout(60, TimeUnit.SECONDS).readOutput(true).start().getFuture();
String result = cmd.get().outputUTF8();
System.out.println(result);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
压测对比:
性能都差不多,看个人爱好吧
java 操作命令行的更多相关文章
- Linux java 命令行编译 jar包
Java 命令行编译成class,然后在打包成jar文件. 编译成class javac -classpath $CLASS_PATH -d class ./src/Hello.java 可以通过ja ...
- java命令行执行程序解决依赖外部jar包的问题
用java命令行直接执行程序,如果这个程序需要引用外部jar包.就不能单纯用java xx来执行 如果你的jar包和程序就在一个目录: 编译 javac -cp D:\yy\yy.jar,D\xx\x ...
- java命令行打war
java命令行打war(windows下) 切换到需要打包文件夹low的上级目录>jar -cfM legendwealth.war -C low .
- java代码行数统计工具类
package com.syl.demo.test; import java.io.*; /** * java代码行数统计工具类 * Created by 孙义朗 on 2017/11/17 0017 ...
- Java 命令行编译项目
如果是用Exlipse, 第三方的包可以放在eclipse文件夹的jre包的lib文件夹中! (初学者的一些总结-高手们勿喷哈-) 原因: 以前一直用Eclispe编程环境运行Java.非常舒服,就像 ...
- Java命令行的基本编译运行
1.编译 编写MyProgram.java文件,内容如下: public class MyProgram { public static void main(String[] args) { Syst ...
- java命令行从编译到打jar包到执行
目录: 一. javac编译 1. 没有额外的jar包 2. 包含额外的jar包 二. jar打jar包 三. java运行 1. java命令执行 2. jar包执 ...
- c3p0数据库连接池 原创: Java之行 Java之行 5月8日 一、连接池概述 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程
c3p0数据库连接池 原创: Java之行 Java之行 5月8日 一.连接池概述 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程 DB连接池HikariCP为什么如此快 原创: D ...
- Java - Java 命令行简介: 选项, 属性, 参数
概述 简单介绍一下 java 命令行相关的参数及属性 1. java 命令行 基本 命令 > java <mainClass> 描述 执行 Java 类 需要准备好编译完成的 mai ...
随机推荐
- 【坚持】Selenium+Python学习记录 DAY11
2018/06/1-2018/06/4 参考资料: [菜鸟教程](http://www.runoob.com/python3/python3-examples.html) [Python解惑:True ...
- 【Docker】第五篇 Docker 数据管理
一.基本介绍 数据管理的原因:Docker中的容器一旦删除,容器本身的rootfs文件系统就会被删除,容器中的所有数据就会被删除.为了对一些需要持久化的数据,不随容器删除而删除,所以我们可以通过多个容 ...
- 工具 | Sublime
Sublime 前言 妈耶..\(Sublime\)的界面真的是太好看啦哭哭.. 我永远喜欢Sublime! 强推Sublime... 正文 自从暑假用上的Ubontu 一开始用的是\(gedit\) ...
- 2-Fifth Scrum Meeting20151205
任务安排 闫昊: 今日完成:设计本地数据库. 明日任务:请假.(最近代码写得多……很累……) 唐彬: 今日完成:ios客户端代码的了解. 明日任务:ios客户端代码的深度学习. 史烨轩: 今日完成: ...
- delphi 图像处理 图像左旋右旋
procedure TDR_QM_ZP_Form.btn_ZXClick(Sender: TObject); //图像左旋 begin screen.Cursor := crhourglass; my ...
- "1001. A+B Format (20)" 解题报告
Github : git@github.com:Circlecos/object-oriented.git PDF Of Markdown : "1001. A+B Format (20)& ...
- C++作业 一
计算圆面积 Github:https://github.com/tinghaishuo/object-oriented/tree/master/circle
- javascript修改div大小遮挡页面渲染问题
页面中引入了其他js文件,浏览器窗口改变,页面没有跟随渲染问题.最后找到原因是因为这个js方法少了最后一行: "right": RightBox_w. window.onresiz ...
- 6/4 sprint2 看板和燃尽图的更新
- 评论alpha发布以及PSP
讲解顺序: 1. 俄罗斯方块 武志远 俄罗斯方块有自己新颖的玩法加在里面 ,可以进行游戏,界面友好但不美观,与传统玩法相比增加了经验值,这是一个很好的创意,游戏运行也很流畅,并找到两名同学现场体 ...
