相关疑难解决方法(0)

带输入/输出流的Java进程

我在下面有以下代码示例.因此,您可以向bash shell输入命令,即将echo test结果回显.但是,在第一次阅读之后.其他输出流不起作用?

为什么这样或者我做错了什么?我的最终目标是创建一个线程调度任务来定期执行的命令/ bash的,因此OutputStream,并InputStream会在协同工作并没有停止工作.我也遇到过java.io.IOException: Broken pipe任何想法的错误?

谢谢.

String line;
Scanner scan = new Scanner(System.in);

Process process = Runtime.getRuntime ().exec ("/bin/bash");
OutputStream stdin = process.getOutputStream ();
InputStream stderr = process.getErrorStream ();
InputStream stdout = process.getInputStream ();

BufferedReader reader = new BufferedReader (new InputStreamReader(stdout));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(stdin));

String input = scan.nextLine();
input += "\n";
writer.write(input);
writer.flush();

input = scan.nextLine();
input += "\n";
writer.write(input);
writer.flush();

while ((line = reader.readLine ()) != …
Run Code Online (Sandbox Code Playgroud)

java stream

89
推荐指数
2
解决办法
20万
查看次数

标签 统计

java ×1

stream ×1