返回信息流用ProcessBuilder执行一个cmd命令, 然后获取这个命令的输出
这个命令只有一行输出
我写的代码如下,
BufferedReader ibr = null, ebr = null;
StringBuffer isb = new StringBuffer();
StringBuffer esb = new StringBuffer();
try {
Process p = pb.start();
InputStream is = p.getInputStream();
ibr = new BufferedReader(new InputStreamReader(is));
InputStream es = p.getErrorStream();
ebr = new BufferedReader(new InputStreamReader(is));
StringBuffer output = new StringBuffer(), error = new StringBuffer();
Thread it = new Thread(){
public void run(){
String line;
try {
while((line = ibr.readLine()) != null){
isb.append(line);
}
System.out.println(isb.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
};
Thread et = new Thread(){
public void run(){
String line;
try {
while((line = ebr.readLine()) != null){
esb.append(line);
}
System.out.println(esb.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
};
it.start();
et.start();
int result = p.waitFor();
System.out.println(result);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但是这个截获不到那行输出, 我用"dir"这个命令测试了一下
输出如下:
bin image1.jpg image2.jpg image3.jpg result.jpg src
请问我的代码有啥问题?为啥获取不到我想要的命令的输出?
这是一条镜像帖。来源:北邮人论坛 / java / #26327同步于 2013/7/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
[问题]如何获取Process的输出?
oooooo
2013/7/12镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
微博说的就是这个问题啊。。。
【 在 oooooo (齐鲁大地|7788|路·中郎|淡淡|琉球) 的大作中提到: 】
: 用ProcessBuilder执行一个cmd命令, 然后获取这个命令的输出
: 这个命令只有一行输出
: 我写的代码如下,
: ...................