Java:BigInteger,如何通过OutputStream写它

Mar*_*aux 2 java io biginteger

我想写一个BigInteger文件.
做这个的最好方式是什么.
当然我想从输入流中读取(使用程序,而不是人类).
我是否必须使用ObjectOutputStream还是有更好的方法?

目的是尽可能少地使用字节.

谢谢
Martijn

Tom*_*ine 8

Java序列化(ObjectOutputStream/ ObjectInputStream)是将对象序列化为八位位组序列的通用方法.但是,序列化存在问题.

要有效率,BigIntegertoByteArray一个和一个构造函数byte[].然后你需要一些方法来表示byte[]流中的(包括长度).例如,你可以使用DataOutputStreamwriteInt的长度,并遵循原始数据.

当然,Streams可以使用您选择的合适装饰器进行压缩.