انسخ رمز الكود كما يلي:
الحزمة com.cjonline.foundation.evisa؛
import java.io.BufferedReader;
استيراد java.io.File؛
استيراد java.io.FileFilter؛
import java.io.FileInputStream;
import java.io.IOException;
استيراد java.io.InputStreamReader؛
import java.math.BigDecimal;
اختبار الطبقة العامة {
public static void main(String[] args) يطرح الاستثناء {
// مرشح الملف، يمكن لمسار الملف استخدام D://pressTest//test المسار المطلق، أو src/test.
File[] files = new File("src").listFiles(new FileFilter() {
قبول منطقي عام (ملف arg0) {
إذا (arg0.getName().endsWith(".txt")){// حدد ملف txt
عودة صحيحة؛
}
عودة كاذبة.
}
});
FileInputStream is =null; // يقرأ دفق الإدخال الملف
BufferedReader dr =null;
لـ (ملف الملف: الملفات) {
System.out.println("---------[ اسم الملف : "+ file.getName() +"]----------");
is =new FileInputStream(file);
dr=new BufferedReader(new InputStreamReader(is));
String[] strings = new String[]{"الإجمالي المنقول:"،"الطلبات في الثانية:"،"[ms] (المتوسط)"،"،"الوقت لكل طلب:"،
"معدل النقل:"،"الطلبات الفاشلة:"،"أخطاء الكتابة:"};
BigDecimal[] BigDecimals = calPress(dr);
كثافة العمليات ط = 0؛
لـ (BigDecimal BigDecimal : BigDecimals) {
System.out.println(strings[i]+" "+BigDecimal);
أنا++;
}
System.out.println();
}
دكتور.إغلاق();
قريب () ؛
}
BigDecimal ثابت خاص[] calPress(BufferedReader dr)
يلقي IOException {
BigDecimal[] res = BigDecimal[]{BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO
,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO};
سلسلة TotalTrans؛
while((totalTrans = dr.readLine()) != null){
إذا (totalTrans.startsWith("الإجمالي المنقول:")) {
String[] st = TotalTrans.split(" ");
BigDecimal value = BigDecimal.valueOf(Double.valueOf(st[st.length-2]));
res[0]=res[0].add(value);
}
إذا (totalTrans.startsWith("الطلبات في الثانية:")) {
String[] st = TotalTrans.split(" ");
BigDecimal value = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
res[1]=res[1].add(value);
}
إذا (totalTrans.endsWith("[ms] (يعني)")) {
String[] st = TotalTrans.split(" ");
BigDecimal value = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
res[2]=res[2].add(value);
}
إذا (totalTrans.startsWith("الوقت لكل طلب:") && !totalTrans.endsWith("[ms] (mean)")) {
String[] st = TotalTrans.split(" ");
BigDecimal value = BigDecimal.valueOf(Double.valueOf(st[st.length-7]));
res[3]=res[3].add(value);
}
إذا (totalTrans.startsWith("معدل النقل:")) {
String[] st = TotalTrans.split(" ");
BigDecimal value = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
res[4]=res[4].add(value);
}
إذا(totalTrans.startsWith("الطلبات الفاشلة:")){
String[] st = TotalTrans.split(" ");
BigDecimal value = BigDecimal.valueOf(Double.valueOf(st[st.length-1]));
res[5]=res[5].add(value);
}
إذا(totalTrans.startsWith("أخطاء الكتابة:")){
String[] st = TotalTrans.split(" ");
BigDecimal value = BigDecimal.valueOf(Double.valueOf(st[st.length-1]));
res[6]=res[6].add(value);
}
}
عودة الدقة.
}
}