java.lang.Process stdin stdout stderr

a382039369 2011-07-21 11:38:08
java.lang.Process

API中如是写:创建进程的方法可能无法针对某些本机平台上的特定进程很好地工作,比如,本机窗口进程,守护进程,Microsoft Windows 上的 Win16/DOS 进程,或者 shell 脚本。创建的子进程没有自己的终端或控制台。它的所有标准 io(即 stdin、stdout 和 stderr)操作都将通过三个流 (getOutputStream()、getInputStream() 和 getErrorStream()) 重定向到父进程。父进程使用这些流来提供到子进程的输入和获得从子进程的输出。

请教:当获那个stdin时,给子进程写入数据的时候,如何在子进程中处理?我写的
子进程
Scanner sc = new Scanner(System.in);
System.out.println(sc.next());

父进程
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("java 子进程");
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
bw.write("输入");


然后获得子进程输出
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));


貌似读不到数据。。。。

本人菜鸟,希望大家不胜我烦的帮助下。。。先行谢过。。。
...全文
87 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
a382039369 2011-07-28
  • 打赏
  • 举报
回复
[size=50px]没人回是吧。。。算了 。。。结贴了。。。[/size]

62,614

社区成员

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

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