首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

大家好!有一个java查找txt文本的有关问题,小弟还是一java菜菜,想了许久不知怎么解决.

2012-03-26 
大家好!有一个java查找txt文本的问题,小弟还是一java菜菜,想了许久不知如何解决..问题如下这是一个我要查

大家好!有一个java查找txt文本的问题,小弟还是一java菜菜,想了许久不知如何解决..
问题如下
这是一个我要查找的文本信息

妾发初覆额:1
折花门前剧:2
郎骑竹马来:3
绕床弄青梅:4
同居长干里:5
两小无嫌猜:6
十四为君妇:7
羞颜未尝开:8
低头向暗壁:9
千唤不一回:10
十五始展眉:11
愿同尘与灰:12
常存抱柱信:13

比如我现在输入一个查找条件 “同居长干里” 然后返回这一条整条信息 “同居长干里:5”

我想了许久,还是不知该如何解决,还请各位路过的大师们帮帮忙!

[解决办法]

Java code
public static void main(String[] args) throws Exception    {        System.out.println(test());    }    public static String test() throws Exception    {        String input = new Scanner(System.in).next();        String result = null;        FileReader fr = new FileReader("e:/a.txt");        BufferedReader br = new BufferedReader(fr);        String str = null;        while((str = br.readLine()) != null)        {            String tempStr = str.substring(0,5);            if(tempStr.equals(input))            {                result = str;                break;            }        }        br.close();        fr.close();        return result;    }
[解决办法]
另一种方法是,把文件中的内容,全部读取出来,并放入HashMap<String, Integer>中,Key就是冒号左边的内容,Value就是冒号右边的数字。

然后后面无论要查找的是啥,直接HashMap.get(str);就行了。

好处是可以一次读取后多次快速查找,缺点是有内存开销,因为整个文件都要载入内存中。

热点排行