java如果你想经常访问一个文件,什么是好的“设计模式”?
我有一个文件(dictionary.txt),其中的数据字段条目如下-
ABC This represents ...
PQR This represents ...
XYZ This represents ...
...
...
... (hundreds of such entries)
我有一个叫Searcher的Java程序。具有以下功能的java
private String[] searchInsideFile(String stringToMatch, String fileName)
这将查找stringToMatch中包含的文件中是否存在任何数据字段。然而,该函数每次都会打开和关闭文件,并读取其数百个字段以查找匹配项
我将不得不多次(可能数百次)调用这个函数,因此,我认为我所做的不是很有效。对于这种情况,有没有好的“设计模式”?谢谢
# 1 楼答案
如果可能的话,您应该在内存中预加载文件的全部内容,并使用一些定义为属性的数据结构对其进行索引,可能是一个
Map
键,其中包含要匹配的字符串。然后方法searchInsideFile
应该查看数据结构内部,避免完全加载文件# 2 楼答案
也许可以将Searcher类中的文件作为实例变量,然后创建一个单独的函数来打开该文件。然后更改searchInsideFile()函数以访问之前已打开的文件。之后记得关闭文件