我想将 BigInteger 写入文件。
做到这一点的最佳方法是什么。
当然,我想从输入流读取(通过程序,而不是人类)它。
我必须使用 ObjectOutputStream 还是有更好的方法?
目的是使用尽可能少的字节。
谢谢
马丁
最佳答案
Java 序列化(ObjectOutputStream
/ObjectInputStream
)是将对象序列化为八位字节序列的通用方法。但是,序列化存在问题。
为了提高效率,BigInteger
具有 toByteArray
和一个采用 byte[]
的构造函数。然后您需要某种方法来表示流中的字节[](包括长度)。例如,您可以使用 DataOutputStream
来 writeInt
长度,然后使用原始数据。
当然,可以使用您选择的合适的装饰器来压缩流。
关于Java:BigInteger,如何通过OutputStream编写它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1890214/