使用 Java 读取结构化二进制文件的最佳方式
2022-08-31 20:10:01
我必须使用Java以旧格式读取二进制文件。
简而言之,该文件具有一个由几个整数,字节和固定长度的char数组组成的标头,后跟一个记录列表,该列表也由整数和char组成。
在任何其他语言中,我都会创建s(C / C++)或s(Pascal / Delphi),它们是标头和记录的逐字节表示。然后,我将字节读入标头变量中,并对记录执行相同的操作。struct
record
sizeof(header)
像这样:(德尔福)
type
THeader = record
Version: Integer;
Type: Byte;
BeginOfData: Integer;
ID: array[0..15] of Char;
end;
...
procedure ReadData(S: TStream);
var
Header: THeader;
begin
S.ReadBuffer(Header, SizeOf(THeader));
...
end;
用Java做类似事情的最好方法是什么?我是否必须单独读取每个值,或者有没有其他方法可以执行这种“块读取”?