Copy kode kodenya sebagai berikut:
paket com.cjonline.foundation.evisa;
impor java.io.BufferedReader;
impor java.io.File;
impor java.io.FileFilter;
impor java.io.FileInputStream;
impor java.io.IOException;
impor java.io.InputStreamReader;
impor java.math.BigDecimal;
Tes kelas publik {
public static void main(String[] args) melempar Pengecualian {
//Filter file, jalur file dapat menggunakan jalur absolut D://pressTest//test, atau src/test.
File[] file = File baru("src").listFiles(Filter File baru() {
penerimaan boolean publik(File arg0) {
if(arg0.getName().endsWith(".txt")){//Pilih file txt
kembali benar;
}
kembali salah;
}
});
FileInputStream adalah =null; //Aliran input membaca file
BufferedReader dr =null; //Baca baris
untuk (Berkas berkas : berkas) {
System.out.println("---------[ nama file : "+ file.getName() +"]----------");
adalah = FileInputStream baru (file);
dr=BufferedReader baru(InputStreamReader baru(adalah));
String[] strings = new String[]{"Total yang ditransfer:","Permintaan per detik:","[ms] (rata-rata)","Waktu per permintaan:",
"Kecepatan transfer:","Permintaan gagal:","Kesalahan penulisan:"};
BigDecimal[] BigDecimals = calPress(dr);
ke dalam saya=0;
untuk (BigDecimal BigDecimal : BigDecimals) {
System.out.println(string[i]+" "+Desimal Besar);
saya++;
}
Sistem.keluar.println();
}
dr.close();
adalah.close();
}
BigDecimal statis pribadi[] calPress(BufferedReader dr)
melempar IOException {
BigDecimal[] res = BigDecimal[]{BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO baru
,Desimal Besar.NOL,Desimal Besar.NOL,Desimal Besar.NOL};
String totalTrans;
while((totalTrans = dr.readLine()) != null){
if (totalTrans.startsWith("Jumlah yang ditransfer:")) {
String[] st = totalTrans.split(" ");
Nilai BigDecimal = BigDecimal.valueOf(Double.valueOf(st[st.length-2]));
res[0]=res[0].tambahkan(nilai);
}
if (totalTrans.startsWith("Permintaan per detik:")) {
String[] st = totalTrans.split(" ");
Nilai BigDecimal = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
res[1]=res[1].tambahkan(nilai);
}
if (totalTrans.endsWith("[ms] (rata-rata)")) {
String[] st = totalTrans.split(" ");
Nilai BigDecimal = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
res[2]=res[2].tambahkan(nilai);
}
if (totalTrans.startsWith("Waktu per permintaan:") && !totalTrans.endsWith("[ms] (rata-rata)")) {
String[] st = totalTrans.split(" ");
Nilai BigDecimal = BigDecimal.valueOf(Double.valueOf(st[st.length-7]));
res[3]=res[3].tambahkan(nilai);
}
if (totalTrans.startsWith("Kecepatan transfer:")) {
String[] st = totalTrans.split(" ");
Nilai BigDecimal = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
res[4]=res[4].tambahkan(nilai);
}
if(totalTrans.startsWith("Permintaan gagal:")){
String[] st = totalTrans.split(" ");
Nilai BigDecimal = BigDecimal.valueOf(Double.valueOf(st[st.length-1]));
res[5]=res[5].tambahkan(nilai);
}
if(totalTrans.startsWith("Kesalahan penulisan:")){
String[] st = totalTrans.split(" ");
Nilai BigDecimal = BigDecimal.valueOf(Double.valueOf(st[st.length-1]));
res[6]=res[6].tambahkan(nilai);
}
}
kembalikan res;
}
}