gpt4 book ai didi

java - 如何使用 Java 运行时执行文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:59:54 28 4
gpt4 key购买 nike

我正在尝试使用 Runtime.getRuntime().exec(command) 从 java 执行一个简单的批处理文件;但面临问题,下面是我的代码片段

public class Path {
public static void main(String args[]){
String[] command = new String[3];
command[0]="cmd";
command[1]="/C";
command[2]="D:/alt/a.bat";
Process p;
try {
p = Runtime.getRuntime().exec(command);
BufferedReader stdInput = new BufferedReader(new InputStreamReader(
p.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(
p.getErrorStream()));
String s = null;
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
while ((s = stdError.readLine()) != null) {
System.out.println(s);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

批处理 a.bat 中有 ant -f runme.xml test并且 runme.xml 位于 D:/alt 物理位置,其中有一个目标测试,到目前为止一切顺利但是当我尝试执行上面的java代码时,下面是输出

D:\RCPStack\Path>ant -f runme.xml test  Buildfile: runme.xml does not
exist! Build failed

当我手动执行时它工作正常,似乎问题出在代码上下面是手动执行输出 enter image description here

如何解决这个问题(我不知道代码是否不正确)并作为最佳实践处理

最佳答案

尝试使用方法Runtime.exec(String cmd, String[] envp, File dir)将工作目录设置为 D:/alt/

这是因为 Ant 必须在 runme.xml 所在的目录中执行,这样 Ant 才能找到它。

关于java - 如何使用 Java 运行时执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8343439/

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