从Java输入数据到外部应用程序

时间:2016-09-18 11:53:35

标签: java redirect java-io

我使用此标准代码捕获并显示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和重定向的变体,但据我所知,这些方法都没有这样做。应用程序的内容无法更改。如何才能做到这一点? (可以这样做吗?)

提前致谢。

1 个答案:

答案 0 :(得分:0)

将用户命令视为字符串:

String userCommand = "java -jar test.jar";
String[] s = userCommand.split(" ");
ProcessBuilder builder = builder = new ProcessBuilder(s);

但是在编写命令时考虑用户额外的空格:)