如何得到子进程的标准输出,错误输出?

dash_running 2006-08-21 10:09:40
是这样的:我用Runtime.exec("javac My.java"),Runtime.exec("java My")这样的形式来自动编译,执行另外一个java程序.

我是想把子进程运行过程中原来输出到控制台的信息输出到界面(比如一个TextArea),这样就能对子进程的运行比较清楚,请问如何做?
...全文
229 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
waterborn 2006-08-23
  • 打赏
  • 举报
回复
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class test {
public static void main(String[] args) throws IOException {
String cmd="cmd.exe /c dir";
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(cmd);
InputStreamReader read=new InputStreamReader(proc.getInputStream());
BufferedReader br = new BufferedReader(read);
String line = null;
while ((line = br.readLine()) != null)
System.out.println(line);
}
}
zhmt 2006-08-23
  • 打赏
  • 举报
回复
路过,友情up...
dash_running 2006-08-23
  • 打赏
  • 举报
回复
没有人会啊?顶一下
bigc2000 2006-08-23
  • 打赏
  • 举报
回复
如果我把子进程的标准输出输出到一个文件里,父进程再去读出来放到JTextArea里,父子进程共同操作一个文件,应该如何同步?理论上是读写管道问题,
但好像java只有多线程,没有多进程。
meadking 2006-08-23
  • 打赏
  • 举报
回复
写到一个bat批处理文件中
多好呀


如果我把子进程的标准输出输出到一个文件里,父进程再去读出来放到JTextArea里,父子进程共同操作一个文件,应该如何同步?

开两个线程
用join(a);
等待a结束
dash_running 2006-08-23
  • 打赏
  • 举报
回复
如果我把子进程的标准输出输出到一个文件里,父进程再去读出来放到JTextArea里,父子进程共同操作一个文件,应该如何同步?
dash_running 2006-08-23
  • 打赏
  • 举报
回复
多谢楼上,明白了一半.

"cmd.exe /c dir"是什么意思?

我启动子进程时直接是用
cmd="java Myclass" ;
Process proc = rt.exec(cmd);
有什么不同吗?

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧