单线程解析文件,根据文件关键词进行统计,并将结果输出(二)

来源:互联网 发布:通化师范学院学校域名 编辑:程序博客网 时间:2024/05/29 16:13

上一篇: 单线程解析文件,根据文件关键词进行统计,并将结果输出()

中得到总结是:

AllHandler类获得文件流,进行遍历每一行数据,将符合关键字的每一行数据,交给对应的处理器loadFileHandler、udpConnectHandler处理。

本小节目标:完成AllHandler类的设计


1、首先获取文件流:利用BufferReader和FileReader实现,避免使用Scaner,否则会出现,读取文件不完整的问题

2、将读取的文件,利用spirt()分离开/t,成为一个String[]类型字符串

3、将该组字符串进行交接给对应的处理器;

至此任务就本类任务完成,切记类的单一原则


eg:

[udpconnect ㅗ楚天 Udp_Connect 第0次连接成功 219.139.48.64   2016-06-0100:08:51] 解析去掉/t之后,得到

[udpconnect,

ㅗ楚天 Udp_Connect 第0次连接成功,

 219.139.48.64 ,

2016-06-0100:08:51]


代码如下:放到相应的处理器,利用通过xml文件注册信息,得到对应的类进行处理

实现牛逼的从xml文件注册得到对应处理器,就像平时看到的框架一样

public class allstathandler{//读取路径为path的文件public void readfile(string path){try{bufferreader br=new bufferreader(new filereader(path));while(br.readline()!=null){string line=br.readline();//读出一行string[]values=line.split("\t");//去掉分行符<span style="font-size:18px;background-color: rgb(255, 255, 0);">//放到对应的处理器中,会在第四节中讲,比较精简的办法,提高代码逼格</span>}br.close();//读取完后关闭,任务完成}catch(exception){}}}

下一篇,讲对应的处理器的实现,利用扩中接口。


0 0