OVH Cloud OVH Cloud

Retour d'une commande par runtime

3 réponses
Avatar
Informatique CARPIMKO
Bonjour,
est-il possible de récupérer la chaine de caractère renvoyée par une
commande DOS ?
J'aimerais traiter par la suite le retour de la commande nbtstat -A

**********************

public String commandeDos () {
Runtime r = new Runtime();
String cmd = "nbtstat -A "+request.getRemoteAddr();
//Je n'ai pas détaillé tout le code mais la variable request existe
r.exec(cmd);
//Normalement cette fonction me renvoir un Process mais comment faire
pour avoir le résultat sous forme de String ?
String retour = "";
return retour;
}
**********************

Merci d'avance
Yannick

3 réponses

Avatar
Christophe M
Informatique CARPIMKO wrote:
Bonjour,
est-il possible de récupérer la chaine de caractère renvoyée par une
commande DOS ?
J'aimerais traiter par la suite le retour de la commande nbtstat -A

**********************

public String commandeDos () {
Runtime r = new Runtime();
String cmd = "nbtstat -A "+request.getRemoteAddr();
//Je n'ai pas détaillé tout le code mais la variable request existe
r.exec(cmd);
//Normalement cette fonction me renvoir un Process mais comment faire
pour avoir le résultat sous forme de String ?
String retour = "";
return retour;
}
**********************

Merci d'avance
Yannick




Bien sur, il faut utiliser :
Process prc = Runtime.getRuntime().exec("dir")

Ensuite, sur la classe Process il y a des inputstreams et un output
stream qui te permet de dialoguer avec la commande en question.

Il suffit de récupérer le contenue de l'inputstream du process dans une
chaine de caractère, pour l'analyser ensuite.

Avatar
Johann Burkard
Informatique CARPIMKO wrote:
est-il possible de récupérer la chaine de caractère renvoyée par une
commande DOS ?


Bien sûr, par exemple:

String macAddress = null;

Process p = null;
BufferedReader in = null;

try {
[...]
p = Runtime.getRuntime().exec(new String[] { ... , null);
in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String l = null;
while ((l = in.readLine()) != null) {
[...]
}
}
}
catch (SecurityException ex) {}
catch (IOException ex) {}
finally {
try {
in.close();
}
catch (Exception ex) {}
try {
p.destroy();
}
catch (Exception ex) {}
}

J'ai copié ca de mon implementation des UUIDs/GUIDs [1].

[1] <http://johannburkard.de/>

Johann
--
"Hexe" war eine willkommene Halluzination des Mannes, um die eigene
Schwaeche bedingt der Schoenheit der Frau zu verbergen. Man(n) wurde
von ihnen einfach verhext.
(*Tönnes in <cejrak$gh1$03$)

Avatar
Patrick Gras
"Informatique CARPIMKO" wrote in message
news:41921652$0$15336$
Bonjour,
est-il possible de récupérer la chaine de caractère renvoyée par une
commande DOS ?
J'aimerais traiter par la suite le retour de la commande nbtstat -A

**********************

public String commandeDos () {
Runtime r = new Runtime();
String cmd = "nbtstat -A "+request.getRemoteAddr();
//Je n'ai pas détaillé tout le code mais la variable request existe
r.exec(cmd);
//Normalement cette fonction me renvoir un Process mais comment faire
pour avoir le résultat sous forme de String ?
String retour = "";
return retour;
}
**********************

Merci d'avance
Yannick




Bonjour,

à lire avant de faire du Runtime.exec():

http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html

-Patrick