我正在使用Windows!

我想从我的Java命令行调用一个小的.exe应用程序,该应用程序称为“ saucy.exe”。它需要一个输入文件“ input.saucy”。两者都存储在正确的目录中。

当我使用命令

Process p = Runtime.getRuntime().exec("saucy input.saucy");


一切正常,我在控制台上得到输出。

但是,当我尝试将输出写入文件时

Process p = Runtime.getRuntime().exec("saucy input.saucy > output.saucy");


什么都没发生。

我已经在http://www.ensta-paristech.fr/~diam/java/online/io/javazine.html中找到建议,并尝试手动标记该命令:

String[] cmd = {"saucy", "input.saucy > output.saucy"};
Process p = Runtime.getRuntime().exec(cmd);


它仍然无法正常工作。有什么建议吗?对于我来说,用Java代码将输出写入文件是没有选择的,因为它太慢了。

再说一遍:我正在使用Windows(我强调这一点是因为我阅读了一些有关Linux系统的提示)。

最佳答案

>是一个shell命令,但是您没有使用它。尝试

String[] cmd = { "cmd", "/C", "saucy input.saucy > output.saucy" };

09-27 18:29