我正在使用进程构建器执行一个简单的 jar 文件。jar 文件通过要求用户输入一个数字来简单地计算一个数字的平方。我可以在控制台输入一个数字,但程序挂起。如何将此(数字)传递回进程构建器,以便由 jar 文件计算其平方?
这是我的代码:
public static void executeSystemCommand(String... args) {
try {
ProcessBuilder pb = new ProcessBuilder(args);
pb.redirectErrorStream(true);
Process proc = pb.start();
Reader reader = new InputStreamReader(proc.getInputStream());
int ch;
while ((ch = reader.read()) != -1) {
System.out.print((char) ch);
}
reader.close();
Scanner scan = new Scanner(System.in);
int k = scan.nextInt();
proc.getOutputStream().write(k);
proc.getOutputStream().close();
while ((ch = reader.read()) != -1) {
System.out.print((char) ch);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}
}