次のようにコードをコピーします。
パッケージcom.cjonline.foundation.evisa;
java.io.BufferedReaderをインポートします。
java.io.ファイルをインポートします。
java.io.FileFilterをインポートします。
java.io.FileInputStreamをインポートします。
インポート java.io.IOException;
インポートjava.io.InputStreamReader;
java.math.BigDecimalをインポートします。
パブリック クラス テスト {
public static void main(String[] args) throws Exception {
//ファイル フィルター、ファイル パスには D://pressTest//test 絶対パス、または src/test を使用できます。
File[] files = new File("src").listFiles(new FileFilter() {
public boolean accept(File arg0) {
if(arg0.getName().endsWith(".txt")){//txt ファイルを選択
true を返します。
}
false を返します。
}
});
FileInputStream は =null です // 入力ストリームはファイルを読み取ります。
BufferedReader dr =null //行を読み取ります。
for (ファイル file : files) {
System.out.println("----------[ ファイル名 : "+ file.getName() +"]----------");
=新しいFileInputStream(ファイル);
dr=新しいBufferedReader(新しいInputStreamReader(is));
String[] strings = new String[]{"合計転送数:","1 秒あたりのリクエスト数:","[ms] (平均)","リクエストあたりの時間:",
"転送速度:","失敗したリクエスト:","書き込みエラー:"};
BigDecimal[] BigDecimals = calPress(dr);
int i=0;
for (BigDecimal BigDecimal : BigDecimals) {
System.out.println(strings[i]+" "+BigDecimal);
i++;
}
System.out.println();
}
dr.close();
is.close();
}
private static BigDecimal[] calPress(BufferedReader dr)
IOException をスローします {
BigDecimal[] res = new 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("1 秒あたりのリクエスト数:")) {
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(値);
}
}
応答を返します。
}
}