我正在编写一个java应用程序,它假设为旧的控制台程序创建一个接口。
我一直在尝试使用Runtime.exec来运行我的控制台程序,但是我遇到了问题,因为Runtime.exec只执行命令并且不会使控制台程序运行。
有没有什么方法可以让控制台程序保持运行,而无需在界面中保持状态反复运行程序,并在每次用户输入输入时浏览控制台程序。
这是我试图运行的代码。第一个exec工作正常但是为什么我尝试使程序加载它给我一个错误,它无法运行程序"加载"
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));
所以我的问题是。在我的java程序运行时有没有办法让控制台程序保持运行?
感谢任何帮助。
答案 0 :(得分:0)
String[] cmd = {"cmd.exe", "/C", "progam_in_PATH", "-Arg"};
在上面的陈述中,将/ C改为/ k
String[] cmd = {"cmd.exe", "/k", "progam_in_PATH", "-Arg"};
这是/ k的意思(excerpt from here)
/ k:执行string指定的命令并继续。