Bonjour à tous !
Je développe une applet et je dois pouvoir detecter la vitesse des éventuels ports série présents sur une machine.
Sous windows je fais ça :
try {
String command = "cmd.exe /c MODE";
Process child = Runtime.getRuntime().exec(command);
InputStream in = child.getInputStream();
int c;
while ((c = in.read()) != -1) {
char c2 = (char) c;
resCmd = resCmd.concat(c2 + "");
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("RESULTAT : " + resCmd + "\nFIN");
}
tout marche nickel et je récupère bien le résultat de ma commande.
Pour les systèmes de type mac/unix je fais dans même esprit :
try {
String command = "stty";
Process child = Runtime.getRuntime().exec(command);
InputStream in = child.getInputStream();
int c;
while ((c = in.read()) != -1) {
char c2 = (char) c;
resCmd = resCmd.concat(c2 + "");
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("RESULTAT : " + resCmd + "\nFIN");
}
Dans la console ça m'affiche :
RESULTAT :
FIN
En gros le résultat de ma commande est vide. Si je fais cette commande directement dans un terminal, ça marche impec.
Si dans mon programme je mets la commande "ls", je récupère bien un résultat.
Si quelqu'un a des idées car la je ne vois pas trop comment faire !
Merci d'avoir pris le temps de me lire
Pantouflard
Afficher la suite