Communication applet avec un ".exe" s'éxécutant en mode console
Bonjour à tous,
dans le cadre de mon stage, je dois pouvoir piloter un exécutable(toto.exe) depuis une applet java. Le problème est que ce programme s'exécute en mode console (invite de commande). Je dois donc pouvoir soit afficher la console, soit communiquer avec le programme, de manière à voir les traces des "printf". Jusque là, j'arrive à l'exécuter , mais je n'arrive pas à visualiser quelque chose. Tout se passe en arrière plan. Ci-dessous le code de l'applet java, et merci d'avance pour vos idées!
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
import java.applet.* ;
import java.io.*;
public class ExecClient extends Applet {
/**
* Serial
*/
private static final long serialVersionUID = 806957495884774321L;
String msg="";
String cmd = "toto.exe";
public void init() {
//récupération du paramètre nom
String parm=getParameter("login");
//s'il existe, on change le message par défaut
if (parm!=null) msg=parm+" est un utilisateur";
try
{
Runtime r = Runtime.getRuntime();
Process p = r.exec(new String[] {cmd , msg});
//p.waitFor();
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
try {
while((line = reader.readLine()) != null) {
// Traitement du flux de sortie de l'application si besoin est
System.out.println(line);
}
} finally {
reader.close();
}
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
catch(Exception e)
{
System.out.println("erreur d'execution " + cmd + e.toString());
}
}
} |