Java - 为遗留控制台程序创建高级界面

Java - Creating high level interface for legacy console program

我正在编写一个 java 应用程序,它应该为旧的控制台程序创建一个界面。

我一直在尝试将 Runtime.exec 用于 运行 我的控制台程序,但我 运行 遇到了问题,因为 Runtime.exec 只执行命令而不保留控制台程序 运行ning.

有什么办法可以让控制台程序保持 运行 宁,而不必一遍又一遍地保持 运行 程序界面中的状态,并且每次都在控制台程序中导航用户输入一个输入。

这是我正在尝试的代码 运行。第一个 exec 工作正常但是为什么我尝试让程序加载它给了我一个错误它不能 运行 程序 "load"

Runtime rt = Runtime.getRuntime();

String[] cmd = {"cmd.exe", "/C", "progam_in_PATH", "-Arg"};

Process p = rt.exec(cmd);
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
print(getOutput(in,1000));

p = rt.exec("load path/to/file/to/load.txt");
in = new BufferedReader(new InputStreamReader(p.getInputStream()));
print(getOutput(in,1000));

所以我的问题是。有什么方法可以让控制台程序保持 运行ning 而我的 java 程序是 运行ning?

感谢任何帮助。

String[] cmd = {"cmd.exe", "/C", "progam_in_PATH", "-Arg"};

在上面的语句中,将 /C 更改为 /k

String[] cmd = {"cmd.exe", "/k", "progam_in_PATH", "-Arg"};

这里是what/k表示(excerpt from here)

/k : Carries out the command specified by string and continues.