java - 使用来自java程序的参数运行exe文件并将输出发送到文本文件

标签 java arguments exe

我想运行一个 exe 文件,该文件接受 mp3 文件作为参数并将输出重定向到文本文件。

我在命令提示符下使用以下命令,它运行良好,并在我的二进制文件夹中创建一个 log.txt 文件,但我无法通过 java 执行此操作。

    C:\Users\Desktop\binary>codegen.exe kalimba.mp3 > log.txt

我尝试过 ProcessBuilder 类,但是看不到二进制文件夹中生成的 log.txt

 File f = new File("C:/Users/Desktop/binary");
ProcessBuilder pb = new ProcessBuilder("cmd", "/c","start","codegen.exe", "kalimba.mp3", "log.txt");
pb.directory(f);

知道我可能做错了什么吗?

最佳答案

您应该使用 ProcessBuilder 本身将输出重定向到文件。具体来说,redirectOutput(File)方法:

final File outFile = new File(...);
pb.redirectOutput(outFile);

使用>(在cmd以及Unix shell中)的重定向由命令解释器/shell处理。

关于java - 使用来自java程序的参数运行exe文件并将输出发送到文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21782535/

相关文章:

java - Jersey 多部分表单数据默认值?

java - Java 中的基本 Socket 编程

java - 如何在android中获取应用程序的实际RAM使用情况?

Python:将可变(?)对象传递给方法

php - 如何为 P.H.P. 制作 .exe 文件安全离线应用

java - Java中常量的困惑

c++ - 标准 C++ 库中的 Null 类型

c - 使用参数运行程序而不是填充值

php - 通过 php (LINUX) 运行 Qt 生成的可执行文件 (EXE)

c - 为什么我的 exe 文件在 cmd 中可以正常工作,但双击却无法正常工作?