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 : Sélectionner tout - Visualiser dans une fenêtre à part
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());
        }   
        }
 
}