Java:BigInteger,如何通过OutputStream编写它

标签 java io biginteger

我想将 BigInteger 写入文件。
做到这一点的最佳方法是什么。
当然,我想从输入流读取(通过程序,而不是人类)它。
我必须使用 ObjectOutputStream 还是有更好的方法?

目的是使用尽可能少的字节。

谢谢
马丁

最佳答案

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

为了提高效率,BigInteger 具有 toByteArray 和一个采用 byte[] 的构造函数。然后您需要某种方法来表示流中的字节[](包括长度)。例如,您可以使用 DataOutputStreamwriteInt 长度,然后使用原始数据。

当然,可以使用您选择的合适的装饰器来压缩流。

关于Java:BigInteger,如何通过OutputStream编写它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1890214/

相关文章:

java - 没有 minOccurs、maxOccurs

Java 在项目文件夹中获取文件作为资源

java - 如何将 BigInteger 作为字节存储到文件中?

assembly - 使用 ARM 汇编语言获取用户输入

c# - C# 中的任意大整数

julia - julia 轮函数是否包含大数错误?

java - 通过接收来自处理程序的消息来更新 UI

java - 正则表达式拆分章节标题

java - tomcat resteasy单例

.net - 如何在不使用性能监视器的情况下以编程方式确定硬盘事件