2015-01-28 9 views
0
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(); 
    } 
} 

}자바 ProcessBuilder를가 지정된 파일을 찾을 수 없습니다

이 코드를 (I Eclipse를 사용하고 있습니다) 실행하면, 내가 스택 추적 얻을 :

때 java.io.IOException : 실행할 수 없습니다를 프로그램 "파이썬": CreateProcess 오류 = 2, 시스템이 지정한 파일을 찾을 수 없습니다 java.lang.ProcessBuilder.start (ProcessBuilder.java:1048) at RunTest.main (RunTest.java:11) 발생 원인 : java .io.IOException : CreateProcess error = 2, 지정한 파일을 찾을 수 없습니다. at java.lang.ProcessImpl.create (네이티브 메소드) java.lang.ProcessImpl. (ProcessImpl.java:386) at java.lang.ProcessImpl.start (ProcessImpl.java:137) at java.lang. ProcessBuilder.start (ProcessBuilder.java:1029) ... 어떤 생각이 왜, 내가 할 수있는 일이 하나 명 더

누구?

감사합니다.

+0

경로에'python' 명령이 있습니까? 명령 줄에서 실행할 수 있습니까? – MadProgrammer

+0

Python이 경로에 있으며 방금 확인한 후 명령 줄에서 작동하지만 Eclipse에서는 아직 작동하지 않습니다 ... –

답변

0

죄송 합니다만, 이것은 실제로 도움이되지 않지만 어쨌든, 이제 막 시작되었습니다. 이유 또는 방법에 대한 생각이 없습니다. 아무 것도 변경하지 않았기 때문입니다. 이클립스는 기본적으로 무작위로 다시 시작되었고 이제는 작동한다! 미안하지만 다른 사람들을 도울 솔루션을 게시 할 수는 없지만 어쨌든 도와 주셔서 감사합니다. @MadProgrammer 및 @Elliott!

+0

실망 .... 왜냐하면 나는 여기에 같은 문제가있어. 아무도 어떤 조언이 있다면 그들을 여기에 보자! – TravisChambers

0

File에 글을 쓰면 flush()이어야하고 close() (이 또한 flush())이어야합니다.

out.write(prg); 
out.close(); // <-- add this. 

또한, python을 PATH에 추가해야합니다.

+0

Wooops 미안 해요. 이전에 작동 시키려고 할 때 주위를 어지럽 혀서 넣었습니다. 다시 돌아 왔지만 여전히 같은 문제가 있습니다. 파이썬은 이미 내 길을 걷고있다. 또한, 내가 –

관련 문제