我尝试让我的笔画在java中工作。 我有一个开始,但我不知道如何继续。 这就是我所拥有的:
public static void main(String[] args) {
try {
Runtime runTime = Runtime.getRuntime();
Process process = runTime.exec("chiplotle");
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = null;
System.out.println("this prints fine");
while ((line = in.readLine()) != null) {
System.out.println(line);
}
System.out.println("it never reaches this...");
}
catch (IOException e) {
e.printStackTrace();
}
}
这是控制台中的输出:
我自己打了11个。但它并没有做任何事情。 它也永远不会打印:
System.out.println("it never reaches this...");
所以看起来我的程序暂停输入,这是正确的吗? 我怎样才能更进一步?
答案 0 :(得分:1)
OutputStream os = process.getOutputStream();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
PrintWriter pw = new PrintWriter(bw);
// now you can write to the Process, i.e., pw.println("11");
您不仅需要打印,还需要分析InputStream发送给您的文本,以决定何时通过PrintWriter写回流程。