所以我想执行一个命令,你可以在我的Java程序的cmd上执行命令。在做了一些研究之后,我想我找到了一个办法来做到这一点。但是,我的代码不起作用。如何运行你可以在Java终端上运行的命令
我的代码是
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
你是在Windows还是Linux环境中运行它? –
@AustinA,我在Mac上运行这个 – Sid