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);
}
}
}
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);
}
}
}
相关文章推荐
- 使用了博客园的备份后得到一个xml文件,不知道有没有css或者xslt文件可以在本地阅读文章,在网上找了半天也没有找到解决办法,难道要自己写?
- Oracle的自增列[不知道有没有更好的办法]
- 自己试验在spring的环绕通知里获取目标对象的类名和目标方法的参数类名,用于根据自定义注解判断访问权限,有没有更好的办法,高手指点一下
- 练习 7:Bash:重定向,stdin,stdout,stderr,<,>,>>,|,tee,pv
- Linux 技巧:重定向 stderr 和 stdout 输出到 gdb 窗口
- 问个比较菜的问题,在JAVA中new完对象后有没有办法消除对象,节省手机内存。
- Bash 中将 stderr 和 stdout 重定向到一个file
- stdout( 标准输出流)和 stderr( 标准输入流) 重定向问题
- 有没有更好的办法
- 不看OCJP考题你永远不知道自己的JAVA基础有多差(二)
- Android中如何将原生程序向stdout和stderr的输出重定向到logcat
- python重定向sys.stdin、sys.stdout和sys.stderr
- 问个比较菜的问题,在JAVA中new完对象后有没有办法消除对象,节省手机内存。
- 不知道博客网有没有办法可以把整个blog变成不公开的?
- 第4章 处理用户输入与显示数据------------(标准文件描述符、STDIN/STDERR/STDOUT、临时重定向、永久重定向exec)
- Process 'command 'D:\Program Files\Java\jdk\bin\java. 解决办法
- 第4章 处理用户输入与显示数据------------(标准文件描述符、STDIN/STDERR/STDOUT、临时重定向、永久重定向exec)
- linux shell 屏幕显示stdout stderr的同时 分别重定向到文件
- 如何将stdin、stdout、stderr重定向到/dev/null
- 调试E6应用程序的应用时重定向stdout和stderr