Probléme avec mon code

Résolu/Fermé
aminaxy Messages postés 151 Date d'inscription jeudi 1 septembre 2011 Statut Membre Dernière intervention 18 août 2016 - Modifié par aminaxy le 21/02/2012 à 00:59
aminaxy Messages postés 151 Date d'inscription jeudi 1 septembre 2011 Statut Membre Dernière intervention 18 août 2016 - 21 févr. 2012 à 10:59
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()); }

}

2 réponses

KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 3 005
21 févr. 2012 à 07:22
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 151 Date d'inscription jeudi 1 septembre 2011 Statut Membre Dernière intervention 18 août 2016 1
21 févr. 2012 à 10:59
merci bien KX mon probléme a été resolue :)
0