Probleme d'affichage avec Runtime()
Bonjour, je veux executer une fonction sur mon serveur linux afin de tester un serveur DNS.
Bon la commande en Cli est : dig @adresseDNS www.site.com |grep time
cette commande permet de retourne le resultat suivant : ; ; Query Time =7ms par exemple
J'ai ecrit ce code afin que cette commande puisse etre executé en boucle ( tester plusieurs serveurs DNS sur plusieurs site)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
public class Dns {
InputStreamReader flog = null;
LineNumberReader llog = null;
public int tail;
public int taille()
{
try{
flog = new InputStreamReader(new FileInputStream("/home/marouene/Bureau/Liste.txt") );
llog = new LineNumberReader(flog);
String myLine= null;
int tail=0;
while ((myLine = llog.readLine()) != null) {
tail=tail+1;
}
}catch (Exception e){
// --- Gestion erreur lecture du fichier (fichier non existant, illisible, etc.)
System.err.println("Error : "+e.getMessage());
}
return tail;
}
public static void main(String[] args) {
String tableauDNS[] = {"193.55.12.4","193.55.12.77"};
Dns dns= new Dns();
int tt =dns.taille();
String [] adresses =new String[tt];
InputStreamReader flog = null;
LineNumberReader llog = null;
String myLine= null;
String line;
try{
flog = new InputStreamReader(new FileInputStream("/home/marouene/Bureau/Liste.txt") );
llog = new LineNumberReader(flog);
while ((myLine = llog.readLine()) != null) {
// --- Affichage de la ligne lu depuis le fichier
for (int f=0;f<tableauDNS.length;f++)
{
String testCmd = "dig @"+tableauDNS[f]+" "+ myLine+" |grep Query";
Runtime r = Runtime.getRuntime();
Process p = r.exec(testCmd);
BufferedReader in = new BufferedReader(new
InputStreamReader(p.getInputStream()));
System.out.println(in.readLine());
//System.out.println("Temps de réponse pour la requete "+myLine+" pour le serveur DNS "+tableauDNS[f]+" est :" +in.readLine());
}
}
}catch (Exception e){
// --- Gestion erreur lecture du fichier (fichier non existant, illisible, etc.)
System.err.println("Error : "+e.getMessage());
}
}
} |
Mais rien ne s'affiche
quand j'ajoute une boucle (white line <> null) le resultat sera affiché entierement comme si on utilise pas le grep|time
merci