gpt4 book ai didi

java - 通过java processBuilder运行cmd命令

转载 作者:行者123 更新时间:2023-12-01 21:16:50 33 4
gpt4 key购买 nike

我正在尝试使用 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
enter image description here

那么这个语句如何写通过java运行cmd命令呢?我收到错误,因为该语句包含“*”。如何编辑 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();

关于java - 通过java processBuilder运行cmd命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39886646/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com