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;
}
}
Java 的 FileFilter文件过滤,readline读行操作的更多相关文章
- java创建TXT文件并进行读、写、修改操作
import java.io.*; /** * * 功能描述:创建TXT文件并进行读.写.修改操作 * * @author <a href="mailto:zha ...
- AutoIT: FileReadLine可以对文件进行读行操作
$fHandle= ) Then $line= FileReadLine($fHandle) Then ExitLoop Wend EndIf FileClose($fHandle)
- java读取txt文件,对字符串进行操作后导出txt文件
嘿嘿,代码略为简单,不再多做解释,直接上码! package org.lq.com.util; import java.io.File; import java.io.InputStreamReade ...
- Java中的文件和stream流的操作代码
1.Java中FileRead方法的运用代码及详解 package example2;import java.io.FileReader;import java.io.IOException;clas ...
- Java实现对文件的上传下载操作
通过servlet,实现对文件的上传功能 1.首先创建一个上传UploadHandleServlet ,代码如下: package me.gacl.web.controller; import jav ...
- Java基础系列(30)- 命令行传参
命令行传参 有时候你希望运行一个程序的时候再传递给它消息.这就要靠传递命令行参数main()函数实现 package method; public class CommandLine { public ...
- Java使用FileReader(file)、readLine()读取文件,以行为单位,一次读一行,一直读到null时结束,每读一行都显示行号。
//Java使用FileReader(file).readLine()读取文件,以行为单位,一次读一行,一直读到null时结束,每读一行都显示行号. public static void readFi ...
- 34 java 文件过滤 FileFilter
package com.da.tool.util; import org.apache.commons.io.filefilter.RegexFileFilter; import java.io.Fi ...
- java:利用java的输入/输出流将一个文件的每一行+行号复制到一个新文件中去
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...
随机推荐
- TOJ 3488 Game Dice
描述 In the game of Dungeons & Dragons, players often roll multi-sided dice to generate random num ...
- 前端参数统一校验工具类ValidParamUtils
1,前端参数不可信,对于后端开发人员来说应该是一条铁律,所以对于前端参数的校验,必不可少,而统一的前端参数校验工具,对我们进行参数校验起到事半功倍的效果 2,统一参数校验工具ValidParamUti ...
- ubuntu 下查找某个文件的方法
1.whereis 文件名 特点:快速,但是是模糊查找,例如 找 #whereis mysql 它会把mysql,mysql.ini,mysql.*所在的目录都找出来. 2.find / -name ...
- Spring课程 Spring入门篇 5-1 aop基本概念及特点
概念: 1 什么是aop及实现方式 2 aop的基本概念 3 spring中的aop 1 什么是aop及实现方式 1.1 aop,面向切面编程,比如:唐僧取经需要经过81难,多一难少一难都不行.孙悟空 ...
- Dubbo架构原理
1 Dubbo核心功能 Remoting:远程通讯,提供对多种NIO框架抽象封装,包括“同步转异步”和“请求-响应”模式的信息交换方式. Cluster: 服务框架,提供基于接口方法的透明远程过程调用 ...
- 实现动态代理(Java和spring)
一.Java实现动态代理 1.创建接口 package com.oyy.mw.biz.i; public interface Cal { public int add(int num1,int num ...
- python3的学习经验
网上资料非常多,颇有些“乱花渐欲迷人眼”的意味,个人看了不少,拖之前从事前端的福,发现廖雪峰大神的网站里有.学了2天之后发觉获益良多,网址:https://www.liaoxuefeng.com/wi ...
- github 专案介绍 – Python 范例:透过互动式的 Jupyter 和数学解释流行的机器学习演算法
对于机器学习有兴趣,不少人应该会先从 Andrew Ng ( 吴恩达 ) 的机器学习课程开始,但是吴恩达的课程是使用 octave 这个工具当作练习.这个 github 项目包含使用 Python 实 ...
- WAKE-WIN10-SOFT-软件-Matlab配置及工具箱
1Matlab 1,1Matlab下载,安装,配置,,, 1,2 2工具箱 2,1LibSVM 必应:https://www.bing.com/search?q=libsvm&qs=n& ...
- Linux--Smba服务搭建
Samba文件共享服务 服务功能:跨平台文件共享 1.环境部署 ip=192.168.1.50 [root@localhost Packages]# rpm -ivh samba-3.6.9-164. ...