java get bat system.out.print,java调用DOS并获取执行中bat的输出

String s;

Process process;

try {

process = Runtime.getRuntime().exec("cmd /c d://test.bat");

InputStream in=process.getInputStream();

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in));

while((s=bufferedReader.readLine()) != null){

System.out.println("sss"+s);

}

in.close();

bufferedReader.close();

} catch (IOException e) {

e.printStackTrace();

}

bat内容

@echo off

::set /p var=请输入用户名:

::echo 您输入的用户名为%var%

java -classpath e:/6/ Test

::dir d:/success/

echo success

exit 0

注意:

java通过dos调用BAT时 如果使用cmd  /c start d://test.bat(也就是start命令)那么将获取不到bat输出的内容,这样一来虽然我们不能通过java程序得到调用的BAT是否执行完成只要通过bat最后打印的信息就可以知道bat是否已经结束

而且,这样java可以获取到 bat中调用JAVA main函数中通过system.out.print打印的信息和bat中通过echo打印的信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值