我希望能够优化我的代码:
} 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文件中搜索与该搜索结果匹配的条目,并返回该搜索的完整条目。 到目前为止,它只返回了搜索到的内容。 例如搜索名称杰克将与杰克一起回来。
我希望这很清楚,如果这个问题可能已经得到解答我很抱歉,我已经尝试过寻找答案了。
如果我上传了整个代码,那可能会有所帮助...... http://pastebin.com/5LY68J5U
对此感到抱歉!
答案 0 :(得分:2)
从方法名称和参数,我假设您正在从磁盘读取文件。不要在每个查询中打开文件,如果它很小,请将其保存在内存中。否则,尝试将数据存储在sqlite数据库文件中,该文件针对查询进行了优化(针对此任务进行了设计)。
编辑:您发布的代码证实了我的假设。如上所述,读取文件一次并将其保存在内存中。文件打开和从磁盘读取比内存访问慢得多。
答案 1 :(得分:0)
我正在使用我的手机来回答这个问题,所以该网站由于其中的一些字符而阻止了答案,所以请检查我想说的是什么 http://pastebin.com/Ez7cSJGJ 希望我能帮助:)。