我想从 java 程序 运行 pict.exe

I want to run pict.exe from a java program

PICT 生成测试用例和测试配置。 https://github.com/microsoft/pict

我想通过 java 程序 运行 可执行文件 pict.exe。我尝试使用 Runtime.getRuntime.exec(),它 运行 没有任何错误,但没有生成输出文件。

package com.test.CommandLine;

public class CommandLineTest {

    public static void main(String[] args) {
        String execPath = "resources\pict.exe";
        String param = "resources\CarOrderApp.txt > resources\CarOrderApp.xls";

        runPict(execPath, param);
    }

    public static void runPict(String execPath, String param) {
        try {
            Process process = Runtime.getRuntime().exec(execPath + " " + param);
        } 
        catch (Exception e) {
            System.out.println(e.getMessage() + "\n");
            e.printStackTrace();
        }
    }
}

这是我的项目结构:

您需要使用 ProcessBuilder 来定义输出,而不是使用 cmd > 重定向运算符:

String execPath = "resources\pict.exe";
String inPath = "resources\CarOrderApp.txt";
String outPath = "resources\CarOrderApp.xls";

ProcessBuilder builder = new ProcessBuilder(execPath, inPath);
builder.redirectOutput(new File(outPath));
Process p = builder.start();
p.waitFor();