所以我想執行一個命令,你可以在我的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