[英]Running CMD from Java
public void run() {
try {
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("C:\\Windows\\System32\\cmd.exe");
stdin = pr.getOutputStream();
writer = new BufferedWriter(new OutputStreamWriter(stdin));
writer.write("python setup.py py2exe");
writer.close();
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line=null;
while((line=input.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}
}
我试图通过Java在命令行中运行“ python setup.py py2exe”行,但是当我运行上述代码时,它不起作用(没有错误,但是代码应在目录中创建新文件,但是它没有)。
如果我直接将其放入命令提示符,该命令将完美运行。
如何使它通过Java运行?
我建议您使用ProcessBuilder
,那样您就可以使用inheritIO()
和类似的东西,
ProcessBuilder pb = new ProcessBuilder("python", "setup.py", "py2exe");
pb.inheritIO();
try {
Process p = pb.start();
p.waitFor(); // <-- wait for the process to finish
} catch (Exception e) {
e.printStackTrace();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.