다음과 같이 코드 코드를 복사합니다 .
패키지 com.cjonline.foundation.evisa;
import java.io.BufferedReader;
java.io.파일 가져오기;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal;
공개 클래스 테스트 {
public static void main(String[] args)에서 예외가 발생합니다.
//파일 필터, 파일 경로는 D://pressTest//test 절대 경로 또는 src/test를 사용할 수 있습니다.
File[] 파일 = new File("src").listFiles(new FileFilter() {
공개 부울 수락(파일 arg0) {
if(arg0.getName().endsWith(".txt")){//txt 파일 선택
사실을 반환;
}
거짓을 반환;
}
});
FileInputStream은 =null입니다. //입력 스트림이 파일을 읽습니다.
BufferedReader dr =null; //줄 읽기
for (파일 파일 : 파일) {
System.out.println("---------[ 파일 이름 : "+ file.getName() +"]---------");
=new FileInputStream(파일)입니다.
dr=new BufferedReader(new InputStreamReader(is));
String[] strings = new String[]{"총 전송 횟수:","초당 요청 수:","[ms] (평균)","요청당 시간:",
"전송 속도:","실패한 요청:","쓰기 오류:"};
BigDecimal[] BigDecimals = calPress(dr);
int i=0;
for (BigDecimal BigDecimal : BigDecimals) {
System.out.println(strings[i]+" "+BigDecimal);
나++;
}
System.out.println();
}
dr.close();
is.close();
}
개인 정적 BigDecimal[] calPress(BufferedReader dr)
IOException이 발생합니다.
BigDecimal[] res = 새로운 BigDecimal[]{BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO
,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO};
문자열 totalTrans;
while((totalTrans = dr.readLine()) != null){
if (totalTrans.startsWith("총 전송량:")) {
String[] st = totalTrans.split(" ");
BigDecimal 값 = BigDecimal.valueOf(Double.valueOf(st[st.length-2]));
res[0]=res[0].add(값);
}
if (totalTrans.startsWith("초당 요청 수:")) {
String[] st = totalTrans.split(" ");
BigDecimal 값 = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
res[1]=res[1].add(값);
}
if (totalTrans.endsWith("[ms] (평균)")) {
String[] st = totalTrans.split(" ");
BigDecimal 값 = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
res[2]=res[2].add(값);
}
if (totalTrans.startsWith("요청당 시간:") && !totalTrans.endsWith("[ms] (평균)")) {
String[] st = totalTrans.split(" ");
BigDecimal 값 = BigDecimal.valueOf(Double.valueOf(st[st.length-7]));
res[3]=res[3].add(값);
}
if (totalTrans.startsWith("전송 속도:")) {
String[] st = totalTrans.split(" ");
BigDecimal 값 = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
res[4]=res[4].add(값);
}
if(totalTrans.startsWith("실패한 요청:")){
String[] st = totalTrans.split(" ");
BigDecimal 값 = BigDecimal.valueOf(Double.valueOf(st[st.length-1]));
res[5]=res[5].add(값);
}
if(totalTrans.startsWith("쓰기 오류:")){
String[] st = totalTrans.split(" ");
BigDecimal 값 = BigDecimal.valueOf(Double.valueOf(st[st.length-1]));
res[6]=res[6].add(값);
}
}
해상도를 반환;
}
}