所以伙计们,我想执行一个可以在我的 Java 程序中的 cmd 上执行的命令。在做了一些研究之后,我想我找到了一种方法来做到这一点。但是,我的代码不起作用。
我的代码是
import java.io.*;
public class CmdTest {
public static void main(String[] args) throws Exception {
String[] command = {"ag","startTimes conf.js >> pro.txt"};
ProcessBuilder builder = new ProcessBuilder(command);
builder.directory(new File("./test-java/"));
Process p = builder.start();
}
}
程序执行但不产生输出。我尝试使用其他命令,如“ls -a”,但仍然没有输出。
有人可以帮我调试这个或建议一个更好的方法吗?谢谢
编辑 1:我在 Mac 上执行此操作。如果这是调试所必需的
编辑 2:通常的 ls 和其他命令正在使用你们提供的解决方案。但是,我想在 Java 程序中使用 ag (the_silver_searcher) 命令。当我尝试这样做时,我收到以下错误 -
Exception in thread "main" java.io.IOException: Cannot run program "ag startTimes conf.js >> pro.txt": error=2, No such file or directory