[英]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.