0

我正在阅读不同的方法/工具来序列化对象,并且正在为我的应用程序寻找最新的建议(因为我可以从 2012 年、2010 年......中找到很多类似的问题+答案)。

我需要将一些 java 对象写入磁盘。我很想节省磁盘空间,因为这些对象可能包含大量数据,而且我想做得相当快。

到目前为止,它已经完成了 java 标准序列化,但实现可能不是很好(没有明确的 serialID 设置,...)。我阅读了有关 kryo 库的信息,但我有点害怕使用 3rd 方库,因为我不知道它们的维护情况/它们的使用有多普遍。或者我应该只改进可序列化接口的使用,如果是的话,是否有任何关于正确实现的好的文档?

4

1 回答 1

1

该解决方案有助于节省磁盘空间,并且基于 Java 标准库

ObjectOutputStream oos = new ObjectOutputStream(new GZIPOutputStream(new FileOutputStream("file")));
oos.writeObject(obj);
...

ObjectInputStream ois = new ObjectInputStream(new GZIPInputStream(new FileInputStream("file")));
obj = ois.readObject();
...
于 2014-08-22T08:21:03.663 回答