Bonjour
Je voudrais executer la commande suivante en java
echo password|sudo -S iptables -L
j'ai essayer avec runtime sans succès voila mon code:

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
 public void setTextArea(){
        //on lit le contnue du fichier script
        try {
            String password=new String("scem1405");
            String[] cmd=new String[7]/*("echo scem1405|sudo -S iptables -L")*/;
            cmd[0]="echo";
            cmd[1]=password;
            cmd[2]="|";
            cmd[3]="sudo";
            cmd[4]="-S";
            cmd[5]="iptables";
            cmd[6]="-L";
            Runtime r = Runtime.getRuntime();  
            Process p = r.exec(cmd);
            String result=new String("");
            String s =new String("");  
            //on definit les buffers
            BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));  
 
            while ((s = reader.readLine()) != null) {
                StringBuffer buffer = new StringBuffer();
                buffer.append(s);
                result = result+buffer.toString()+"\n";
            }
            jTextArea1.setText(result);
        }catch(Exception e) {  
            System.out.println("erreur d'execution "+e.getMessage());  
        }
 
    }
je suis prenneur de toute idée merci
@+