2010-05-21 2 views
0

그래, ChucK을 내 보낸 처리 스케치에서 사용할 수있게하려고합니다. 즉, Processing에서 응용 프로그램을 내 보내면 ChucK VM 이진이 내부에서 실행됩니다. 앱. 따라서 앱을 사용하는 사용자는 ChucK에 대해 걱정할 필요가 없습니다.java Processbuilder - OS X에서 경로에없는 파일을 실행합니다

는 지금은 생성과 bash는 스크립트 파일을 실행하지만,이 방법은 내가 다시 처리에 척에서 모든 콘솔 출력을 얻을하지 않습니다 해요 :

#!/bin/bash 
cd "[to where the Chuck executable is located]" 
./chuck --kill 
killall chuck # just to make sure 
./chuck chuckScript1.ck cuckScriptn.ck 

다음

Process p = Runtime.getRuntime().exec("chmod 777 "+scriptPath); 
p = Runtime.getRuntime().exec(scriptPath); 

이를 작품에서 ChucK를 직접 실행하고 싶지만 실행할 수는 없습니다 :

String chuckPath = "[folder in which the chuck executable is located]" 
ProcessBuilder builder = new ProcessBuilder 
           (chuckPath+"/chuck", "test.ck"); 

     final Process process = builder.start(); 
     InputStream is = process.getInputStream(); 
     InputStreamReader isr = new InputStreamReader(is); 
     BufferedReader br = new BufferedReader(isr); 
     String line; 
     while((line = br.readLine()) != null) println(line); 
     println("done chuckin'! exitValue: " + process.exitValue()); 

새내기 스타일 일 경우 죄송합니다. D

답변

1
ProcessBuilder builder = new ProcessBuilder 
           (chuckPath+"/chuck", chuckPath+"/test.ck"); 

args에 모두 절대 경로가 필요합니다.

+0

질문을 편집하고 답변에 더 많은 정보를 제공하지 마십시오. – ZeissS

+0

이 질문은 대답으로 답변했습니다. 척 (chuck)은 파일 자체이기 때문에 전체 경로가 필요했습니다. – Jakob

+0

잘 작동하면 자신의 대답을 받아 들여야합니다 –

관련 문제