0

我希望能够优化我的代码:

} else if (s.equals("2")) {
    System.out.println("Please enter a Name, Phone Number or Email Address: ");
    dataLine = in.readLine();
    String result = readFromFile("C:/AddressBook.dat", dataLine);
    System.out.println("Search Results\n" + result);

当用户输入姓名/电话号码/电子邮件时,它将在 AddressBook.dat 文件中搜索与该搜索结果匹配的条目,并返回该搜索的完整条目。到目前为止,它只返回确切搜索的内容。例如,搜索名称 Jack 将仅返回 Jack。

我希望这足够清楚,如果这个问题可能已经得到回答,我很抱歉,我已经尝试寻找答案。

如果我上传我的整个代码可能会有所帮助...... http://pastebin.com/5LY68J5U

对于那个很抱歉!

4

2 回答 2

2

根据方法名称和参数,我假设您正在从磁盘读取文件。不要在每次查询时打开文件,如果文件很小,请将其保存在内存中的某个位置。否则,尝试将数据存储在一个 sqlite 数据库文件中,该文件针对查询进行了优化(为此任务而设计)。

编辑:您发布的代码证实了我的假设。读取文件一次并将其保存在内存中,如上所述。从磁盘打开和读取文件比访问内存要慢得多。

于 2013-05-07T10:31:02.240 回答
0

我正在使用我的手机来回答这个问题,因此该网站由于其中包含一些字符而阻止了答案,所以请检查我想说的 http://pastebin.com/Ez7cSJGJ 希望我有所帮助:)

于 2013-05-07T11:58:17.980 回答