java - 读取一次文件并多次使用数据

标签 java file-io

我编写了一个 java 类,它读取文件并将每一行存储在数组列表中。我想多次访问这个数组列表。每次调用该类来访问数组列表时,它都会再次读取该文件。我希望文件被读取一次,然后多次访问数组列表。我怎样才能做到这一点?

最佳答案

将其存储在类的字段中。即:

public class Foo {
   private List<String> list;

   public List<String> readData() {
       if (list != null) { 
           return list;
       }
       // do the reading.
   }
}

请注意,如果在多线程环境中使用它,您必须采取额外的措施。例如输入 synchronized关于方法。

正如 Peter 指出的,如果您可以读取多个文件,那么您可以使用 Map<String, List<String>>

另一注意事项是您应该只使用此类的一个实例。如果您创建多个实例,您将不会达到预期的效果。

关于java - 读取一次文件并多次使用数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4813617/

相关文章:

你能从c中的文件中的特定位置写入吗?

java - 从常量池 Java 字节码访问值

c - 从文件中读取并输出到套接字

java - 如何用 Java 替换大文件的第一行?

java - 使用 Firebase 云消息传递自定义布局

c - 结构数组作为参数传递给 read() 问题

ios - -[NSString writeToFile :] does not change the contents of the file

java - webapp中有多个servlet时如何处理初始化失败

Java 正则表达式 : split comma-separated values but ignore commas in quotes

JAVA:日志文件即将翻转时应用程序暂停