Je dois lire un fichier binaire dans un format hérité avec Java.
En un mot, le fichier contient un en-tête composé de plusieurs entiers, octets et de longueur fixe des tableaux de char, suivi par une liste de documents qui sont également composées de nombres entiers et de caractères.
Dans toute autre langue, je voudrais créer struct
s (C/C++) ou record
s (Pascal/Delphi) qui sont octet-par-octet représentations de l'en-tête et le dossier. Puis j'avais lu sizeof(header)
d'octets dans un en-tête variable et faire de même pour les enregistrements.
Quelque chose comme ceci: (Delphi)
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;
Quelle est la meilleure façon de faire quelque chose de similaire avec Java? Dois-je lire à chaque valeur sur son propre ou est-il un autre moyen de faire ce genre de "bloc de lire"?