java - 如何在 Java 中将列表项保存在磁盘而不是内存上

标签 java

我正在寻找一种与Java中的ArrayList相同的数据结构,它将项目保存在磁盘而不是内存上。 java有这样的数据结构吗? 谢谢

我想要一个动态结构,将项目保存在内存上,当其大小超过某个值时,将新项目保存在磁盘上,直到大小低于该值。

最佳答案

您可以自己执行此操作:将 ArrayList 序列化到磁盘。

确保列表的内容是可序列化的,即列表中的对象应实现Serialized接口(interface)。

然后
写入文件:

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(fileName));
oos.writeObject(list);
oos.flush();
oos.close();

从文件中读取:

ObjectInputStream ois = new ObjectInputStream(new FileInputStream(fileName));
List<YourClass> list = ois.readObject();
ois.close()

关于java - 如何在 Java 中将列表项保存在磁盘而不是内存上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29750024/

相关文章:

java - 为什么在 1.5 之前的 java 版本中用 StringBuilder 替换 StringBuffer 对象是不安全的

java - 在逗号分隔的字符串中查找值的更好方法 (Java/Android)

java - 是否可以将方法传递给条件限制?

java - Selenium 2 : Store webdriver instance id of open window to create new webdriver instance with this id

java - 带有 undertow servlet 容器的 spring-boot 应用程序中的 "no cipher suites in common"错误

java - 在 PDFBox 中使用框生成字符 (utf-8)

java - map 应用程序在模拟器上强制退出

java - ObjectMapper 读取值

java - Java 可以写入/读取已释放的堆外内存吗?

java - 为什么我的旋转矩阵不起作用?