【发布时间】:2010-07-14 14:22:45
【问题描述】:
我知道文件结构,假设这个结构是这样的:
[3-bytes long int],[1-byte long unsigned integer],[4-bytes long unsigned integer]
因此该文件包含此类记录的链。
在 Java 中解析此类文件最优雅的方法是什么?
假设我们可以定义一个全长的 byte[] 数组并用 InputStream 读取它,但是如何将其子元素转换为正确的整数值呢?
首先,java中的字节值是有符号的,在我们的例子中我们需要无符号值。 接下来,是否有有用的方法可以将字节子数组(例如,从第 1 个字节到第 4 个字节)转换为正确的整数值?
我肯定知道,Perl 中有函数 pack 和 unpack,允许您将字节字符串表示为表达式,假设“VV”表示 2 个无符号长整数值。您定义这样一个字符串并将其作为参数提供给 pack 或 unpack 函数,以及要打包/解包的字节。 Java / Apache libs等中有这样的东西吗?
【问题讨论】: