所以我有这样的代码:执行命令的过程
String[] command = new String[] { "java", "-jar", file.getName() };
try {
System.out.println("Loading input/output");
final Process process = Runtime.getRuntime().exec(command);
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
final OutputStreamWriter out = new OutputStreamWriter(process.getOutputStream());
final BufferedReader consolein = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Loaded input/output");
new Thread() {
@Override
public void run() {
while (true) {
System.out.println("hi");
try {
String temp = consolein.readLine();
out.write(temp);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}.start();
while (true) {
System.out.println(in.readLine());
}
} catch (IOException e) {
e.printStackTrace();
}
,我试图执行命令的运行罐子。输入很好,我看到控制台中的所有消息。我添加了“hi”消息来测试它是否工作。无论什么时候我输入什么都会显示但是,无论我输入什么内容都不会被发送到正在运行的程序。我在这里做错了什么?
你有没有尝试添加一个新行输入的结束? – MadProgrammer
正如\ n?或者是什么? – PaulBGD