Probléme avec mon code

Résolu
aminaxy Messages postés 190 Statut Membre -  
aminaxy Messages postés 190 Statut Membre -
Bonjour, j'ai un problème avec mon code,en fait lorsque je clique sur le boutton radio jradiobutton1 il doit récupérer la valeur saisie dans le jtextfield2,fait la commande en arriére plan selon la valeur targetIP1 puis afficher le résultat dans le jTextarea1,or ce qui se passe lorsque je clique sur le ce radiobutton il m'affiche seulement le help de la commande spécifié,je ne sait pas où est l'erreur si quel qu'un peut m'aider et merci .

voici le code de l'action sur le radiobutton:

private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

String targetIP1=jTextField1.getText();
int x=Integer.parseInt(jTextField2.getText());
try{
String cmd = "tracert -w " +x+ " " +targetIP1;
Process p = Runtime.getRuntime().exec(cmd);
InputStream in = p.getInputStream();
StringBuilder build = new StringBuilder();
Reader reader = new InputStreamReader(in);
char[] buffer = new char[512];
int nbRead = reader.read(buffer);
while(nbRead > 0) {
build.append(buffer, 0, nbRead);
nbRead = reader.read(buffer);
}
String response = build.toString();

jTextArea1.setText(response);
}catch(Exception e){
jTextArea1.append(e.toString()); }

}
A voir également:

2 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
Si cela te renvoie toujours l'aide c'est parce que ta commande est incorrecte.
Il faudrait que tu affiches la valeur de cmd pour la contrôler.

Après, j'ai repris ton code, pour voir comment on peut faire de la lecture de flux de manière un peu plus Java que ton char[] buffer qui fait fortement penser au C...

private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) 
{ 
    String nom_cible=jTextField1.getText();
    
    String cmd;
    
    try
    {
        int delai = Integer.parseInt(jTextField2.getText());;
        cmd = "tracert -w " +delai+ " " +nom_cible;
    }
    catch (NumberFormatException e)
    {
        System.err.println(e.toString());
        cmd = "tracert " +nom_cible;            
    }
    
    System.out.println(cmd);
            
    try
    {
        StringBuilder sb = new StringBuilder();
        
        Scanner sc = new Scanner(Runtime.getRuntime().exec(cmd).getInputStream());
        while (sc.hasNextLine())
            sb.append(sc.nextLine()).append('\n');
        sc.close();
        
        jTextArea1.setText(sb.toString());
    }
    catch (Exception e)
    {
        jTextArea1.setText(e.toString());
    }
}
0
aminaxy Messages postés 190 Statut Membre 1
 
merci bien KX mon probléme a été resolue :)
0