Recuperer le resultat d'une cmd dos en java

Fermé
ayoubbbb Messages postés 55 Date d'inscription samedi 4 octobre 2008 Statut Membre Dernière intervention 25 mars 2018 - 11 nov. 2009 à 20:32
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 - 12 nov. 2009 à 10:44
Bonjour,
je cherche une solution pour recuperer le resultat d'une commande dos (tels qu'un ping ou ipconfig ) vers une chaine de type String en java

s'il ya une methode pour ca n'esither pas a me la proposer et merci d'avance
A voir également:

5 réponses

sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
12 nov. 2009 à 10:44
Je ne comprends pas: tu dis que ça ne marche pas ? Mais as-tu déjà essayé de mettre en pratique le code dans mon lien ? Voici ce que ça donnerait (avec un copire-coller grossier pour avoir une classe exécutable; sans aucune optimisation):

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Ayoubbbb {
	public static void main(String[] args) throws IOException {
		Process p = Runtime.getRuntime().exec("ipconfig");

		// read the standard output of the command
		BufferedReader stdInput = new BufferedReader(new InputStreamReader(p
				.getInputStream()));

		System.out.println("Here is the standard output of the command:\n");

		int count = 0;
		String s;
		String result = "";
		while (!procDone(p)) {
			while ((s = stdInput.readLine()) != null) {
				count++;
				result = result + s + "\n";
			}
		}
		
		System.out.println("result:" + count + ": " + result);
		stdInput.close();
	}

	private static boolean procDone(Process p) {
		try {
			int v = p.exitValue();
			return true;
		} catch (IllegalThreadStateException e) {
			return false;
		}
	}
}


Et ça marche très bien ^^ Une variante plus concise et donc plus facile à comprendre (car le code est plus soigné) ici: http://www.java-tips.org/java-se-tips/java.lang/how-to-read-output-from-a-command-execution.html

++
2
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
11 nov. 2009 à 21:41
Hello,

J'ai déjà fait ça pour le ping, mais je sais plus comment j'ai fait :D

Enfin, pour lancer la commande :

Process p=null;
Runtime r=null;
r=Runtime.getRuntime();
p = r.exec("Ta commande avec le chemin complet hormis si c'est une commande système");

Après je sèche, ca fait un moment déjà :)

Loulou.
0
sandul Messages postés 3924 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 722
11 nov. 2009 à 22:14
Salut,

Ceci que tu cherches: http://lists.xcf.berkeley.edu/lists/advanced-java/2001-September/037263.html ?

++
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
11 nov. 2009 à 22:31
En effet merci Sandul ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ayoubbbb Messages postés 55 Date d'inscription samedi 4 octobre 2008 Statut Membre Dernière intervention 25 mars 2018
12 nov. 2009 à 10:18
cotee d'execution d'une commande dos est realiser (par exemple recuperer la config ip dans un fichier)
mais coteee de recuperation du resultat directement sur ma console java ne se realise pas
0