[英]Writing BitSet to output file without overhead?
使用ObjectOutputStream.writeObject()
将BitSet写入输出文件时,我获得了一线开销( "java.util.BitSet"
ObjectOutputStream.writeObject()
。
不管怎么说呢?
这不是一个“开销”,它不是让Java知道在从该文件反序列化对象时需要创建什么类型的标记。
由于ObjectInputStream
不知道您将哪些序列化到文件中,并且无法提供“提示”,因此ObjectOutputStream
必须“嵌入”输入流的某些内容才能决定需要实例化哪个类。 这就是为什么它将"java.util.BitSet"
字符串放在BitSet
数据的前面。
使用BitSet
类中内置的序列化功能时,无法绕过编写此标记。 如果您将对象自行序列化为文件,而没有其他对象,则可以将toByteArray()
调用的结果写入文件,并在从文件中读取byteArray
后调用BitSet.valueOf(byteArray)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.