有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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中包含的文件中是否存在任何数据字段。然而,该函数每次都会打开和关闭文件,并读取其数百个字段以查找匹配项

我将不得不多次(可能数百次)调用这个函数,因此,我认为我所做的不是很有效。对于这种情况,有没有好的“设计模式”?谢谢


共 (2) 个答案

  1. # 1 楼答案

    如果可能的话,您应该在内存中预加载文件的全部内容,并使用一些定义为属性的数据结构对其进行索引,可能是一个Map键,其中包含要匹配的字符串。然后方法searchInsideFile应该查看数据结构内部,避免完全加载文件

  2. # 2 楼答案

    也许可以将Searcher类中的文件作为实例变量,然后创建一个单独的函数来打开该文件。然后更改searchInsideFile()函数以访问之前已打开的文件。之后记得关闭文件