在Mac OS上使用Java将一些输入发送到终端窗口

时间:2015-05-08 14:13:01

标签: java terminal

我可以在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窗口上并执行。

1 个答案:

答案 0 :(得分:1)

将您的命令和参数放在一个数组中:

String[] command = {
    "/Users/brianallison/Documents/Java/RELAP5 GUI/issrs/relap5.x",
    "-i", "Choose your input file",
    "-r", "",
    "-o", ""
};

然后使用Runtime#exec(String[] cmdarray)执行:

Runtime.getRuntime().exec(command);

在阅读了今天的其他两个问题herehere之后,这个答案已经整理好了。