2010-05-21 3 views
0

Ok j'essaie de rendre ChucK disponible dans les esquisses de traitement exportées, c'est-à-dire si j'exporte une application de Processing, le binaire ChucK VM sera exécuté depuis l'intérieur du app. Donc, en tant qu'utilisateur de cette application, vous n'avez pas à vous soucier de ChucK étant sur votre chemin du tout.java Processbuilder - exec un fichier qui n'est pas dans le chemin sous OS X

En ce moment je suis la génération et l'exécution d'un fichier script bash, mais cette façon je ne suis pas sortie de la console de ChucK de nouveau dans le traitement:

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

puis

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

Cette fonctionne mais je veux lancer ChucK directement à partir de Processing, mais je n'arrive pas à l'exécuter:

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ésolé si c'est de style débutant: D

Répondre

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

les arguments ont tous besoin d'un chemin absolu.

+0

S'il vous plaît modifier votre question et ne fournissent pas plus d'infos dans une réponse. – ZeissS

+0

J'ai mis ceci dans une réponse parce que cela fonctionne. Puisque l'argument arg to chuck est lui-même un fichier, il a également besoin du chemin complet. – Jakob

+0

bien si cela fonctionne, vous devez accepter votre propre réponse –

Questions connexes