假设我们有一个包含 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/