2011-04-14 3 views
4

Standard Subprocess Je fraie un processus en Java en utilisant le code suivant:écriture à l'entrée

Process newExec = null; 
BufferedReader outStream = null; 
BufferedReader inStream = null; 
BufferedReader errStream = null; 

StringBuffer outputBuffer = new StringBuffer(); 

String PATH_TO_EXEC = config.getExecPath(); 

try { 
    newExec = Runtime.getRuntime().exec(PATH_TO_EXEC + " " + args); 
} 
catch(IOException e){ 
    outputBuffer.append("Error in running executable."); 
    e.printStackTrace(); 
    return outputBuffer.toString(); 
} 

Une fois le processus a donné naissance il attend une entrée par stdin. Comment pourrais-je transmettre des chaînes à ce programme nouvellement créé?

Répondre

2
Process newExec = null; 
BufferedReader outStream = null; 
BufferedReader inStream = null; 
BufferedReader errStream = null; 

StringBuffer outputBuffer = new StringBuffer(); 

String PATH_TO_EXEC = config.getExecPath(); 

try { 
    newExec = Runtime.getRuntime().exec(PATH_TO_EXEC + " " + args); 
    PrintWriter o = new PrintWriter(newExec.getOutoutStream()); 
    o.println("input to process"); 
    o.flush(); 
} 
catch(IOException e){ 
    outputBuffer.append("Error in running executable."); 
    e.printStackTrace(); 
    return outputBuffer.toString(); 
}