在没有开销的情况下将 BitSet 写入输出文件?
Writing BitSet to output file without overhead?
使用 ObjectOutputStream.writeObject()
.
将 BitSet 写入输出文件时,我得到一行开销 ("java.util.BitSet"
)
还有吗?
那不是 "overhead",那不是让 Java 确定在从该文件反序列化对象时需要创建什么类型的标记。
由于 ObjectInputStream
不知道您将什么序列化到文件中,也无法为您提供 "hint",ObjectOutputStream
必须 "embed"输入流能够决定什么 class 需要被实例化。这就是为什么它将 "java.util.BitSet"
字符串放在 BitSet
.
的数据前面的原因
当您使用 BitSet
class 中内置的序列化功能时,您无法避免编写此标记。如果你将对象本身序列化到一个文件中,没有其他对象进入它,你可以将 toByteArray()
调用的结果写入一个文件,并在读取 [=17= 之后调用 BitSet.valueOf(byteArray)
] 来自文件。
使用 ObjectOutputStream.writeObject()
.
"java.util.BitSet"
)
还有吗?
那不是 "overhead",那不是让 Java 确定在从该文件反序列化对象时需要创建什么类型的标记。
由于 ObjectInputStream
不知道您将什么序列化到文件中,也无法为您提供 "hint",ObjectOutputStream
必须 "embed"输入流能够决定什么 class 需要被实例化。这就是为什么它将 "java.util.BitSet"
字符串放在 BitSet
.
当您使用 BitSet
class 中内置的序列化功能时,您无法避免编写此标记。如果你将对象本身序列化到一个文件中,没有其他对象进入它,你可以将 toByteArray()
调用的结果写入一个文件,并在读取 [=17= 之后调用 BitSet.valueOf(byteArray)
] 来自文件。