java - 如何重建 Java 代码并仍然可以访问先前构建中的数据结构?

标签 java eclipse file memory

假设我们有一个包含 1 亿个数字的巨大文本文件,需要 10 分钟才能处理并存储到 ArrayList 中。使用 Eclipse,我如何将此列表存储到内存中,这样我就不必每次测试代码时都花 10 分钟来处理文本文件。

我尝试将列表写入文件并执行以下操作:

    //store the contents of the text file as a list object in C:/filepath
    FileInputStream fis = new FileInputStream("C:/filepath");
    ObjectInputStream ois = new ObjectInputStream(fis);
    ArrayList<Integer> newList = (ArrayList<Integer>)ois.readObject();
    ois.close();
    //process newList

但这可能是非常低效的,因为文件没有存储到内存中。

有没有一种技巧可以有效地做到这一点,并且只需处理一次文本文件,并且仍然在许多不同的构建中使用该处理时间的成果?

最佳答案

没有。并且该文件在构建时不会被读取。它在运行时读取文件。并且每次程序(重新)启动时它都必须重新读取该文件。

关于java - 如何重建 Java 代码并仍然可以访问先前构建中的数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32387590/

相关文章:

java - undertow 的路由模板格式

Java 包和类

file - 更改名称会破坏项目的运行能力! Xcode

java - Android:异步任务和 UI

java - 检查字符串严格为字母数字

Eclipse (GWT) 不运行 google webapplication 项目

java - 如何将 Eclipse 项目的 "Java Build Path"部分中引用的 jar 包含在使用 build.xml 文件通过 Ant 生成的 jar 文件中

java - 比较两个文件时如何忽略空格?

Java:文本文件输入的 fseek()、ftell() 等价物?

长长度 StringTokenizer 的 Java 性能问题