java - runtime.exec() 花费无限时间来执行代码

标签 java

我想执行一个带有 2 个参数的命令。 1.输入文件名 2.输出文件名。

命令为 SixV1.1 outputFile.txt 代码是:

   String cmd= "sixV1.1 <inputFile.txt >outputFile.txt";
   Process p=Runtime.getRuntime().exec(cmd);
   int retValue=p.waitFor();

当我运行上面的代码时,它花费了无限的时间。 是否可以在 cmd 中给出 <, > 字符。请建议我....

最佳答案

在 Java 中启动进程时进行输入/输出重定向的正确方法是从进程的流中写入/读取:

Process p = Runtime.getRuntime().exec("sixV1.1");
InputStream is = p.getInputStream();
// read from is and write to outputFile.txt
OutputStream os = p.getOutputStream();
// read from inputFile.txt and write to os

关于java - runtime.exec() 花费无限时间来执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11238381/

相关文章:

java - public 修饰符对 Java Thread 的 run() 的好处

java - 类文件编辑器未找到冗余源

java - 为什么虚拟机没有操作系统?

java - 使用 Java 将字符串原子追加到 Windows 中的文件

java - 鼠标事件经过组件

Java在实例化抽象类时更改变量

java - 如何解析 Java 中的命令行参数?

java - 我们如何在目标平台上自动禁用 Eclipse 插件?

java - Google App Engine HTTP ERROR 503 错误

java - 在 Spring Security 中列出内存中的用户?