【发布时间】:2015-05-08 14:13:00
【问题描述】:
我可以在 Mac OS 或 Windows 上打开一个终端窗口或命令提示符。我想使用我的 java 向该终端或 cmd 窗口发送一个字符串。
String in = " -i " + "\"" + tfIntdta.getText() + "\"";
String rst = " - r " + "\"" + tfRstplt.getText() + "\"";
String out = " -o " + "\"" + tfOutdta.getText() + "\"";
String strip = " -s" + "\"" + tfStpdta.getText() + "\"";
String guistring = "-n gui";
String wd = "\"" + System.getProperty("user.dir");
String osver = System.getProperty("os.name");
String app = "";
if (osver.contains("Mac")){
app = wd + "/relap5.x\"";
} else if (osver.contains("Windows")){
app = "\\relap5.exe";
} else if (osver.contains("linux")) {
app = "/relap5.x";
}
String run = app + in + rst + out;
所以字符串看起来像这样。 "/Users/brianallison/Documents/Java/RELAP5 GUI/issrs/relap5.x"-i""-r""-o""
我希望上面的行出现在终端或cmd窗口上并执行。
【问题讨论】:
-
不能直接执行字符串吗?检查
Runtime的javacod,您可能对Runtime.exec(String command)或其中一个重载感兴趣。有趣的事实/产品放置:在 Groovy 中,String有一个execute方法,它将字符串作为终端命令运行。 -
我已经尝试过了,它所做的只是打开终端窗口。 Desktop.getDesktop().open(new File("/Applications/Utilities/Terminal.app")); Runtime.getRuntime().exec(run);
-
跳过终端打开 - 只需执行字符串,您不必显式打开终端。