我正在使用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" };