搜索文本内容——java代码简单实现

搜索文本内容——java代码简单实现

ID:27469941

大小:119.50 KB

页数:7页

时间:2018-12-04

搜索文本内容——java代码简单实现_第1页
搜索文本内容——java代码简单实现_第2页
搜索文本内容——java代码简单实现_第3页
搜索文本内容——java代码简单实现_第4页
搜索文本内容——java代码简单实现_第5页
资源描述:

《搜索文本内容——java代码简单实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、【文章标题】搜索文本内容——Java代码的简单实现【文章作者】曾健生【作者邮箱】zengjiansheng1@126.com【作者QQ】190678908【作者博客】http://blog.csdn.net/newjueqihttp://newjueqi.javaeye.com/【编程环境】JDK1.6.0_01【作者声明】欢迎转载文章,但转载请保留文章的完整性以及注明文章的出处。*******************************************************************************昨天由于编程的要求,需要

2、从300多个源代码中查找一个关键字在哪个源代码文件中用过,逼于无奈只能一个文件一个文件的查找,结果30分钟后本人就崩溃了(连续查了200多个文件),看到眼睛都花了还是没结果。这时我是多么怀念平时上网用搜索引擎的日子!突然间灵机一动,现在从众多的源码文件中查找一个关键字,不就是一个典型的搜索行为,现在学习完Java的IO流后就实现一个文本内容搜索软件。本人这个文本搜索软件的思路很简单,分为以下几步:1.遍历一个目录里的每个文件对象2.如果文件对象是一个目录,则通过递归继续遍历这个目录下的每个文件3.如果文件对象是一个文件,则判断文件名是否以“.java”结尾(是

3、否Java源文件),如果以“.java”结尾,则读取文本内容。4.把文本的每一行存储在一个字符串中,通过contains函数判断该行字符串是否包含关键字,如果包含关键字就把该行字符串信息写入到一个配置文件中5.关闭文件流。packagenewjueqi.net.csdn.SearchText;importjava.io.*;//山寨版的LineNumberReader类,读取文本内容时可获得当前的代码行数,实现了Java中的LineNumberReader的功能classMyLineNumberReader{//这里用的是装饰器模式,具体的内容可参见本人的博文

4、《打造山寨产品和伪造产品的利器——装饰模式》privateReaderfr;privateintlineNumber=0;//记录当前的行数MyLineNumberReader(Readerfr){this.fr=fr;}/*通过read()函数一个一个字符的读取,当遇到回车换行就返回读取的一行字符串*/publicStringreadLine(){intnum=0;StringBuffersb=newStringBuffer();try{while((num=fr.read())!=-1){if(num=='r')continue;elseif(num==

5、''){lineNumber++;//读取一行,行号加1returnsb.toString();//返回读取的一行字符串}else{sb.append((char)num);}}}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();returnnull;}//防止文本末尾没加回车换行符,以丢失文本内容if(sb.length()>0){lineNumber++;returnsb.toString();}returnnull;}//关闭输入流对象publicvoidclo

6、se(){try{fr.close();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}//设置当前的行数publicvoidsetLineNumber(intlineNumber){this.lineNumber=lineNumber;}//获取当前的行数publicintgetLineNumber(){returnlineNumber;}}/*搜索文本内容的类输入的内容为要查找的目录和查找的内容*/classSearchContent{privateFilef

7、=null;//要查找的目录对象privateStringfilename=null;//要查找的目录路径privateBufferedWriterbw=null;privateStringfindtxt=null;//要查找的文本内容privateStringfileType=null;//要查找的文件类型privateinttotalFileCount=0;//共搜索的文件数privateintfindedFileCount=0;//搜索到有用的文件数privateintfindContentCount=0;//搜索到的有用信息数目/**构造函数,@par

8、amf要查找目录的对象@paramfi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。