Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1460 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  comment executer une commande dos sous java?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment executer une commande dos sous java?

n°1380684
trunks_tr
Posté le 04-06-2006 à 01:47:31  profilanswer
 

salut
 
voici un code que je viens de tapper,l'objectif c'est de pouvoir executer une commande dos par exemple: ping ou arp..etc et de recupere le resultat dans un fichier texte,mais lorsque je compile ce code il retourne rien,ou bien il enregistre le resultat ds qlq part que je l'ignore! :(
s'il vous plait,si vous avez une solution,n'hesitez pas a  m'aider
merci.:)
 [#7f0055 size=2]
import
[/#7f0055 size=2][size=1] java.io.*; [/size][#7f0055 size=2]
public
[/#7f0055 size=2][size=1] [/size][#7f0055 size=2]class[/#7f0055 size=2][size=1] ArpDos {
 
[/size][#7f0055 size=2]public[/#7f0055 size=2][size=1] [/size][#7f0055 size=2]static[/#7f0055 size=2][size=1] [/size][#7f0055 size=2]void[/#7f0055 size=2][size=1] main(String[] args) {  
String cmd;  
cmd = [/size][#2a00ff size=2]"cmd /c ping localhost"[/#2a00ff size=2][size=1];  
[/size][#7f0055 size=2]try[/#7f0055 size=2][size=1] {  
Runtime r = Runtime.getRuntime();  
Process p = r.exec(cmd);  
InputStream i_stream = p.getInputStream();  
InputStreamReader reader = [/size][#7f0055 size=2]new[/#7f0055 size=2][size=1] InputStreamReader(i_stream);  
InputStream out = [/size][#7f0055 size=2]new[/#7f0055 size=2][size=1] BufferedInputStream(p.getInputStream());  
String s =[/size][#2a00ff size=2]""[/#2a00ff size=2][size=1];  
BufferedReader bf_reader= [/size][#7f0055 size=2]new[/#7f0055 size=2][size=1] BufferedReader(reader);  
[/size][#7f0055 size=2]while[/#7f0055 size=2][size=1] ((bf_reader.readLine() != [/size][#7f0055 size=2]null[/#7f0055 size=2][size=1])) {  
s += bf_reader.readLine()+[/size][#2a00ff size=2]"\n"[/#2a00ff size=2][size=1];  
System.out.println(s);  
}  
p.waitFor();[/size][#3f7f5f size=2]//si l'application doit attendre a ce que ce process fini [/#3f7f5f size=2][size=1]
}[/size][#7f0055 size=2]catch[/#7f0055 size=2][size=1](Exception e) {  
System.out.println([/size][#2a00ff size=2]"erreur d'execution "[/#2a00ff size=2][size=1] + cmd + e.getMessage());  
}  
}  
}[/size]

mood
Publicité
Posté le 04-06-2006 à 01:47:31  profilanswer
 

n°1380688
trunks_tr
Posté le 04-06-2006 à 02:23:46  profilanswer
 

excusez moi,je sais pas ce qui a bien pu se passer lorsque j'ai copier le code ici
ben le revoila
import java.io.*;
public class DosQuery {  
public static void main(String[] args) {
 
String cmd;
cmd = "cmd /c ping localhost ";
 
try {
Runtime r = Runtime.getRuntime();
Process p = r.exec(cmd);
 
InputStream i_stream = p.getInputStream();
InputStreamReader reader = new InputStreamReader(i_stream);  
 
InputStream out = new BufferedInputStream(p.getInputStream());  
 
String s =null;
 
BufferedReader bf_reader= new BufferedReader(reader);  
while ((s = bf_reader.readLine()) != null) {
byte[] b = new byte[1024];  
int n = out.read(b);
for(int i=0; i<n; i++)  
System.out.print((char)b[i]);
}
 
p.waitFor();//si l'application doit attendre a ce que ce process fini
 
}catch(Exception e) {
System.out.println("erreur d'execution " + cmd + e.getMessage());
}
}  
}

n°1380838
gocho
Posté le 04-06-2006 à 16:39:36  profilanswer
 

balises code :o caymieu :o


---------------
Mon feedback
n°1380842
gocho
Posté le 04-06-2006 à 16:49:27  profilanswer
 

et sinon ben  

Code :
  1. String cmd;
  2. cmd = "cmd /c ping localhost >test.txt";

 
et la ou tu as ton fichier DosQuery.java, tu verras apparaitre un test.txt avec le resultat de la commande.


---------------
Mon feedback
n°1380843
bugmenot
Posté le 04-06-2006 à 16:52:00  profilanswer
 

et pourquoi tu lance ping sans un CMD, pourquoi pas ping directmeent ?

n°1380844
gocho
Posté le 04-06-2006 à 16:52:45  profilanswer
 

tiens spa bete ca...j'ai meme pas regardé [:dawa]


---------------
Mon feedback
n°1380845
bugmenot
Posté le 04-06-2006 à 16:53:04  profilanswer
 

Et puis quand on est moderne, on utilise :  
 
http://java.sun.com/j2se/1.5.0/doc [...] hable(int)

n°1380846
gocho
Posté le 04-06-2006 à 16:53:49  profilanswer
 

par contre quand tu fais ca il aime pas les caracteres speciaux (ç, é, ...)


---------------
Mon feedback

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  comment executer une commande dos sous java?

 

Sujets relatifs
Executer une commande en VBS sur les postes d'une OU ?[java] PB lancement d'un Applet
Java Transformation XSLT résultat StringPas important : isset en Java ? [Résolu]
[Linux shell] execution de commande ?ajouter une imprimante en ligne de commande
Comment exécuter une commande DOS à partir d'un code JAVAExecuter une commande en JAVA
[java - applet] exécuter une commande sur le serveur web ? ![Java] executer un telnet (login) et executer une commande
Plus de sujets relatifs à : comment executer une commande dos sous java?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR