您的位置:首页 > 编程语言 > Java开发

Java中Process的stdout, stderr的重定向,自己想的,不知道有没有更好的办法

2006-05-23 01:45 423 查看
Process ps = RunTime.getRuntime().exec("Command");

InputStream out = ps.getInputStream(); //获取进程的stdout,并作为输入

InputStream err = ps.getInputStream(); //获取进程的stderr,并作为输入

// 为了能同时输出out 与 err,起用两个线程

new Redirector(out, redirectOut).start();

new Redirector(err, redirectErr).start();

class Redirector extends Thread {

DataInputStream input;

PrintStream output;

public Redirector (InputStream is, OutputStream os) {

input = new DataInputStream (is);

output = new PrintStream(os);

}

public run() {

String line = null;

while(((line = input.readLine()) != null) {

output.println(line);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐