Problème "Exception in thread "Timer-0""
Bonjour j'ai une classe qui est la suivante :
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
|
public class Dns {
String server=null;
public Dns(String server)
{
this.server=server;
}
String myLine= null;
static tableau tab = new tableau();
int s =0; // nombre de requetes non résoluts
double perte;
//methode qui calcule le taux de perte (utilisant la bibliotheque Bind9 d'Unix)
public double taux (int t) throws IllegalStateException, IOException
{
InputStreamReader flog = null;
LineNumberReader llog = null;
//Lecture du fichier texte
flog = new InputStreamReader(new FileInputStream("/home/mlahsini/Bureau/Liste.txt" +"") );
llog = new LineNumberReader(flog);
//Lancement d'une instance d'un Shell Unix.
Shell sh =new Shell();
while ((myLine = llog.readLine()) != null) {
//commande retournant le message de traitement de la requete
String msg = sh.command("dig @"+server+" "+myLine+"|grep status |awk -F':' '{print $3}' |awk -F ',' '{print $1}'").consumeAsString();
if (msg == "SERVFAIL")
{
s=s+1;
}
}
perte = s/(t);
return(perte);
//t c'est la taille du tableau(nombre de requetes a traiter)
}
public Vector<Double> tableau() {
InputStreamReader flog = null;
LineNumberReader llog = null;
Vector<Double> valeur=new Vector<Double>();
try{
flog = new InputStreamReader(new FileInputStream("/home/mlahsini/Bureau/Liste.txt") );
llog = new LineNumberReader(flog);
Shell sh =new Shell();
int i=0;
while ((myLine = llog.readLine()) != null) {
String resultat = sh.command("dig @"+server+" "+myLine+"|grep time | awk -F':' '{ print $2}' |awk '{print $1}'").consumeAsString();
double query = Double.parseDouble(resultat);
valeur.add(query);
}
}catch (Exception e){
// --- Gestion erreur lecture du fichier (fichier non existant, illisible, etc.)
System.err.println("Error : "+e.getMessage());
}
return(valeur);
}
} |
ca me genere cette erreure
Code:
1 2 3 4 5 6
| Error : empty String
Exception in thread "Timer-0" java.lang.ArithmeticException: / by zero
at marouene.Dns.taux(Dns.java:45)
at marouene.TestPerformance$1RemindTask.run(TestPerformance.java:45)
at java.util.TimerThread.mainLoop(Timer.java:534)
at java.util.TimerThread.run(Timer.java:484) |