我想从 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();
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();