java中关于io流的问题

目录two中包含多个子目录及文件,编写程序对目录中的所有后缀为txt文件进行遍历,找出内容包含”tarena”的文件,求出这些文件大小之和。注意:所有的txt文件内容经过... 目录two中包含多个子目录及文件,编写程序对目录中的所有后缀为txt文件进行遍历,找出内容包含”tarena”的文件,求出这些文件大小之和。

注意:所有的txt文件内容经过编码,编码规则是字符按位取反,所以读取文件内容时需要反编码。
分数无所谓,求指点
展开
 我来答
spys007
2012-09-20 · TA获得超过164个赞
知道答主
回答量:125
采纳率:75%
帮助的人:81.8万
展开全部
看你取决于哪种策略了
1 用一个程序监听该目录,一旦目录中被加入了txt后缀的文件,则在 一个索引文件中加入该文件名称, 随后启动一线程,使用缓冲读取该文件(注意解密),直到找到"tarena"所在行,并记录该文件的大小到在索引文件中。
2 应用程序读取索引文件,就可快速得到 在某个目录下有哪些文件有tarena,并累计文件大小,
这种策略是牺牲在写文件的时间,完成索引的创建,读程序性能会提高

第二种策略
1 遍历 目录树,找到每一个.txt文件,每当找到一个txt时,启动一个新线程,解密,找出tarena所在行,并保存相关数据在内存如hashmap中,
2 应用程序从hashmap中直接获取所有的内容
这种策略牺牲的是读的时间 其他差不多

第三种策略 使用lucene框架,主要是针对每个文件建立分词索引,这里意义不大,所以建议使用上面两种策略。
hxy850809
2012-09-08 · TA获得超过160个赞
知道小有建树答主
回答量:569
采纳率:0%
帮助的人:323万
展开全部
超级简单,File类中有个带过滤器参数的方法,直接就过滤掉不需要的文件,再读出内容,用String类的方法,查找字符串就OK乐。
追问
方法名是什么?直接点...亲~
追答
还评他的答案为满意答案?Java中怎么监听目录?他能做到?简直胡答……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zn85600301
2012-09-13 · TA获得超过123个赞
知道小有建树答主
回答量:403
采纳率:0%
帮助的人:141万
展开全部
这个得要用到全文检索了 百度Lucene
不过你得先将 tarena先编码一次作为检索条件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式