Java ProcessBuilder找不到指定的文件 [英] Java ProcessBuilder Cannot Find File Specified
问题描述
import java.io.*;
class RunTest {
public static void main(String a[]) {
try {
String prg = "import sys\nprint int(sys.argv[1])+int(sys.argv[2])\n";
BufferedWriter out = new BufferedWriter(new FileWriter("test1.py"));
out.write(prg);
int number1 = 1;
int number2 = 2;
ProcessBuilder pb = new ProcessBuilder("python","test1.py",""+number1,""+number2);
Process p = pb.start();
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
int ret = new Integer(in.readLine()).intValue();
System.out.println("value is : "+ret);
} catch(Exception e) {
e.printStackTrace();
}
}
}
运行此代码(使用Eclipse)时,我得到了堆栈跟踪:
When I run this code (I'm using Eclipse), I get the stack trace:
java.io.IOException:无法运行程序"python":CreateProcess错误= 2,系统找不到指定的文件在java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)在RunTest.main(RunTest.java:11)由以下原因引起:java.io.IOException:CreateProcess错误= 2,系统找不到指定的文件在java.lang.ProcessImpl.create(本机方法)在java.lang.ProcessImpl.(ProcessImpl.java:386)在java.lang.ProcessImpl.start(ProcessImpl.java:137)在java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)...还有1个
java.io.IOException: Cannot run program "python": CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) at RunTest.main(RunTest.java:11) Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.(ProcessImpl.java:386) at java.lang.ProcessImpl.start(ProcessImpl.java:137) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ... 1 more
任何人都不知道为什么以及我能做什么?
Anyone have any idea why and what I can do?
谢谢!
推荐答案
对不起,这可能真的没有帮助,但是不知何故,它才开始起作用.不知道为什么或怎么做,因为我什么都没改变.Eclipse基本上只是随机地自行重启,现在可以正常工作了!抱歉,我无法发布可以帮助他人的解决方案,但是无论如何,感谢您的帮助@MadProgrammer和@Elliott!
Sorry, this is probably really unhelpful, but somehow, it just started working. No idea why or how, because I haven't changed anything. Eclipse basically just restarted itself randomly and now it works! Sorry I couldn't post a solution that will help others, but thanks anyway for your help @MadProgrammer and @Elliott !
这篇关于Java ProcessBuilder找不到指定的文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!