Copiez le code comme suit :
package com.cjonline.foundation.evisa;
importer java.io.BufferedReader ;
importer java.io.File ;
importer java.io.FileFilter ;
importer java.io.FileInputStream ;
importer java.io.IOException ;
importer java.io.InputStreamReader ;
importer java.math.BigDecimal ;
Test de classe publique {
public static void main (String[] args) lève une exception {
//Filtre de fichier, le chemin du fichier peut utiliser le chemin absolu D://pressTest//test ou src/test.
Fichier[] fichiers = nouveau Fichier("src").listFiles(nouveau FileFilter() {
public booléen accepter (Fichier arg0) {
if(arg0.getName().endsWith(".txt")){//Sélectionner le fichier txt
renvoie vrai ;
}
renvoie faux ;
}
});
FileInputStream est =null ; //Le flux d'entrée lit le fichier
BufferedReader dr =null; //Lire les lignes
pour (Fichier fichier : fichiers) {
System.out.println("---------[ nom du fichier : "+ file.getName() +"]----------");
est =nouveau FileInputStream(fichier);
dr=nouveau BufferedReader(nouveau InputStreamReader(est));
String[] strings = new String[]{"Total transféré :","Requêtes par seconde :","[ms] (moyenne)","Durée par requête :",
"Taux de transfert :","Demandes ayant échoué :","Erreurs d'écriture :"} ;
BigDecimal[] BigDecimals = calPress(dr);
entier je = 0 ;
pour (BigDecimal BigDecimal : BigDecimals) {
System.out.println(strings[i]+" "+BigDecimal);
je++;
}
System.out.println();
}
dr.close();
est.close();
}
BigDecimal[] statique privé calPress (BufferedReader dr)
lance IOException {
BigDecimal[] res = nouveau BigDecimal[]{BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO
,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZÉRO} ;
Chaîne totalTrans ;
while((totalTrans = dr.readLine()) != null){
if (totalTrans.startsWith("Total transféré :")) {
String[] st = totalTrans.split(" ");
Valeur BigDecimal = BigDecimal.valueOf(Double.valueOf(st[st.length-2]));
res[0]=res[0].add(valeur);
}
if (totalTrans.startsWith("Requêtes par seconde :")) {
String[] st = totalTrans.split(" ");
Valeur BigDecimal = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
res[1]=res[1].add(valeur);
}
if (totalTrans.endsWith("[ms] (moyenne)")) {
String[] st = totalTrans.split(" ");
Valeur BigDecimal = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
res[2]=res[2].add(valeur);
}
if (totalTrans.startsWith("Durée par requête :") && !totalTrans.endsWith("[ms] (moyenne)")) {
String[] st = totalTrans.split(" ");
Valeur BigDecimal = BigDecimal.valueOf(Double.valueOf(st[st.length-7]));
res[3]=res[3].add(valeur);
}
if (totalTrans.startsWith("Taux de transfert :")) {
String[] st = totalTrans.split(" ");
Valeur BigDecimal = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
res[4]=res[4].add(valeur);
}
if(totalTrans.startsWith("Demandes ayant échoué :")){
String[] st = totalTrans.split(" ");
Valeur BigDecimal = BigDecimal.valueOf(Double.valueOf(st[st.length-1]));
res[5]=res[5].add(valeur);
}
if(totalTrans.startsWith("Erreurs d'écriture :")){
String[] st = totalTrans.split(" ");
Valeur BigDecimal = BigDecimal.valueOf(Double.valueOf(st[st.length-1]));
res[6]=res[6].add(valeur);
}
}
retourner la résolution ;
}
}