Probléme avec mon code

Résolu
aminaxy Messages postés 148 Date d'inscription   Statut Membre Dernière intervention   -  
aminaxy Messages postés 148 Date d'inscription   Statut Membre Dernière intervention   -
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   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 148 Date d'inscription   Statut Membre Dernière intervention   1
 
merci bien KX mon probléme a été resolue :)
0