【问题标题】:Execute terminal command flex执行终端命令 flex
【发布时间】:2023-05-28 12:13:01
【问题描述】:

我的问题看起来像这样。我想运行一个用 Flex 编写的程序来分析一些文件。为此,我尝试了:

Process p = Runtime.getRuntime().exec(MYCOMMAND);

THREAD...

p.waitFor();

我的命令是这样的

Flex/Tokenizacja/Tokenizacja < Przyklady/Wejscie/Wejscie1.java > Przyklady/Wyjscie/Wejscie1.txt

当我运行此命令时,它会卡住(没有错误消息,它只是在等待某些东西)。当我从终端运行时,Flex 程序运行良好。我试图使路径更短(在同一位置),但它不起作用。请帮忙。

【问题讨论】:

  • 您应该编辑您的问题,以便更容易看到代码/输出。
  • 它不起作用。我认为它打开了 Flex 程序并等待输入,但我不知道如何向它发送内容。当我从终端打开 Flex 程序而不向它发送任何输入时,它会很相似——它不会提供任何输出,直到我给它一些输入。我使用输入/输出流,但我没有帮助 - 也许我做错了什么

标签: java linux terminal command


【解决方案1】:

解决方案:

new ProcessBuilder().command("./Flex/Tokenizacja/Tokenizacja").redirectInput(new File(PATH_TO_TXT_FILE)).redirectOutput(new File(PATH_TO_OTHER_TXT_FILE)).start();

【讨论】: