Rechercher : dans
Par :

Recuperer le resultat d'une cmd dos en java

Dernière réponse le 12 nov 2009 à 10:44:10 ayoubbbb, le 11 nov 2009 à 20:32:06 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP Internet Explorer 7.0

Meilleures réponses pour « recuperer le resultat d'une cmd dos en java » dans :
Comment récupérer le résultat d'une commande dans une variable VoirComment récupérer le résultat d'une commande dans une variable Préambule Syntaxe Exemples Préambule Il est bien souvent nécessaire de récupérer le résultat d'une commande (ou de son code retour) dans une variable afin de pouvoir...
Se connecter à un serveur FTP en mode Ms-Dos VoirLa commande ftp permet de se connecter à un serveur FTP en ligne de commande. Certaines options de cette commande permettent d'automatiser la connexion en fournissant une liste de commandes contenues dans un fichier texte : ftp -i ...
Java - L'API JDBC VoirIntroduction à JDBC La technologie JDBC (Java DataBase Connectivity) est un ensemble de classes permettant de développer des applications capables de se connecter à des serveurs de bases de données (SGBD). L'accès aux bases de données avec...

1

arth, le 11 nov 2009 à 21:41:00

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.
Le loup, solitaire et mystérieux.

Répondre à arth

2

sandul, le 11 nov 2009 à 22:14:50

Salut,

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

++ A man would die, though he were neither valiant nor miserabl­e,
only upon a weariness to do the same thing so oft over and o­ver. [Bacon]

Répondre à sandul

3

arth, le 11 nov 2009 à 22:31:25

En effet merci Sandul ;)
Le loup, solitaire et mystérieux.

Répondre à arth

4

ayoubbbb, le 12 nov 2009 à 10:18:13

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

Répondre à ayoubbbb

5

 sandul, le 12 nov 2009 à 10:44:10

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/...

++

Répondre à sandul