簡體   English   中英

通過 java processBuilder 運行 cmd 命令

[英]Run cmd commands through java processBuilder

我正在嘗試使用 ProcessBuild 來運行 cmd 語句。

ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C", "start");
Process p = pb.start();

但是,我只能打開cmd.exe

我不知道如何向 ProcessBuild 添加語句,以便文件夾中的所有 jar 都可以運行。 通常,我打開stanford-corenlp-full-2015-12-09文件夾中的cmd,並添加這個語句運行:java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer
在此處輸入圖片說明

那么這個語句Run cmd commands through java怎么寫呢?? 我收到錯誤,因為語句包含“*”。 如何編輯 ProcessBuilder 以便我可以運行該語句? 非常感謝

您可以設置要執行命令的目錄

    List<String> cmds = Arrays.asList("cmd.exe", "/C", "start", "java", "-mx4g", "-cp", "*", "edu.stanford.nlp.pipeline.StanfordCoreNLPServer");
    ProcessBuilder builder = new ProcessBuilder(cmds);
    builder.directory(new File("D:/stanford-corenlp-full-2015-12-09"));
    Process proc = builder.start();

根據評論中的要求更新

    OutputStream out = proc.getOutputStream();
    new Thread(() -> {
        try (BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(out))) {
            bw.write("[command here]");
            bw.flush();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }

    }).start();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM