我使用此标准代码捕获并显示JTextArea中应用程序的输出。错误检查已被删除。工作良好。
Process proc = null;
ProcessBuilder builder=null;
builder = new ProcessBuilder("java","-jar", "test.jar");
proc = builder.start();
Thread outputGobbler = new Thread(new StreamGobbler(proc.getInputStream(), outputTextServer1));
outputGobbler.start();
我现在希望用户能够在JTextField中输入命令并将其发送回应用程序。我已经阅读了许多使用管道,System.out和重定向的变体,但据我所知,这些方法都没有这样做。应用程序的内容无法更改。如何才能做到这一点? (可以这样做吗?)
提前致谢。
答案 0 :(得分:0)
将用户命令视为字符串:
String userCommand = "java -jar test.jar";
String[] s = userCommand.split(" ");
ProcessBuilder builder = builder = new ProcessBuilder(s);
但是在编写命令时考虑用户额外的空格:)