上一篇: 单线程解析文件,根据文件关键词进行统计,并将结果输出(一)
中得到总结是:
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)
{
}
}
}
下一篇,讲对应的处理器的实现,利用扩中接口。