zoukankan      html  css  js  c++  java
  • Java 的 FileFilter文件过滤,readline读行操作

    package com.cjonline.foundation.evisa;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileFilter;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.math.BigDecimal;
    
    public class Test {
        
        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文件
                        return true;
                    }
                    return false;
                }
            });
            FileInputStream is =null;    //输入流读取文件
            BufferedReader dr =null;    //读行
            for (File file : files) {
                System.out.println("---------【 file name : "+ file.getName() +"】----------");
                is =new FileInputStream(file);
                dr=new BufferedReader(new InputStreamReader(is)); 
                String[] strings = new String[]{"Total transferred:","Requests per second:","[ms] (mean)","Time per request:",
                        "Transfer rate:","Failed requests:","Write errors:"};
                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)
                throws IOException {
            BigDecimal[] res = new BigDecimal[]{BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO
                    ,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO} ;
            String totalTrans;
            while((totalTrans = dr.readLine()) != null){
                if (totalTrans.startsWith("Total transferred:")) {
                    String[] st = totalTrans.split(" ");
                    BigDecimal value = BigDecimal.valueOf(Double.valueOf(st[st.length-2]));
                    res[0]=res[0].add(value);
                }
                if (totalTrans.startsWith("Requests per second:")) {
                    String[] st = totalTrans.split(" ");
                    BigDecimal value = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
                    res[1]=res[1].add(value);
                }
                if (totalTrans.endsWith("[ms] (mean)")) {
                    String[] st = totalTrans.split(" ");
                    BigDecimal value = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
                    res[2]=res[2].add(value);
                }
                if (totalTrans.startsWith("Time per request:") && !totalTrans.endsWith("[ms] (mean)")) {
                    String[] st = totalTrans.split(" ");
                    BigDecimal value = BigDecimal.valueOf(Double.valueOf(st[st.length-7]));
                    res[3]=res[3].add(value);
                }
                if (totalTrans.startsWith("Transfer rate:")) {
                    String[] st = totalTrans.split(" ");
                    BigDecimal value = BigDecimal.valueOf(Double.valueOf(st[st.length-3]));
                    res[4]=res[4].add(value);
                }
                if(totalTrans.startsWith("Failed requests:")){
                    String[] st = totalTrans.split(" ");
                    BigDecimal value = BigDecimal.valueOf(Double.valueOf(st[st.length-1]));
                    res[5]=res[5].add(value);
                }
                if(totalTrans.startsWith("Write errors:")){
                    String[] st = totalTrans.split(" ");
                    BigDecimal value = BigDecimal.valueOf(Double.valueOf(st[st.length-1]));
                    res[6]=res[6].add(value);
                }
    
            }
            return res;
        }
    }
  • 相关阅读:
    执行 apt-get -f install 提示错误
    Git 命令总结
    git版本控制(一)
    ubuntu设置字体编码GBK和UTF-8
    Method and system for public-key-based secure authentication to distributed legacy applications
    T-SQL 实用函数总结
    T-SQL 实用函数总结
    在程序员面前千万不要说这9句话,我一个同事就死的很惨!
    在程序员面前千万不要说这9句话,我一个同事就死的很惨!
    在程序员面前千万不要说这9句话,我一个同事就死的很惨!
  • 原文地址:https://www.cnblogs.com/lbangel/p/3309831.html
Copyright © 2011-2022 走看看