Yapılandırılmış ikili okumak için en iyi yolu, Java ile dosya
Ben ikili bir dosyayı okumak için Java ile eski bir biçimde.
Özetle dosya da tamsayı ve karakter içeren bir başlık birkaç tamsayılar, bayt ve sabit uzunlukta char dizileri içeren kayıtların listesini takip etti.
Başka bir dil isterim. struct
s (C/C ) veya record
s (Pascal/Delphi) olan bayt bayt beyan ve Başlığı kaydeder. O zaman başlığı bir değişken sizeof(header)
bayt okuma ve kayıtlar için de aynısını yapardım.
Şöyle bir şey: (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;
Java ile benzer bir şey yapmak için en iyi yolu nedir? Kendi başına her değeri okumak zorundayım yoksa başka yolu yok bu tür bir "blok-okumak"?
CEVAP
Bildiğim kadarıyla, Java okudun engellemek için güçlü olmak yerine bayt bir dosya okumak için zorlar. Eğer Java nesneleri seri hale getirilirken olsaydı, farklı bir hikaye olurdu.
Diğer örnek gösterilen bir Dosya ile DataInputStream sınıfını kullanın, ama aynı zamanda bir kısayol kullanabilirsiniz: RandomAccessFile sınıf:
RandomAccessFile in = new RandomAccessFile("filename", "r");
int version = in.readInt();
byte type = in.readByte();
int beginOfData = in.readInt();
byte[] tempId;
in.read(tempId, 0, 16);
String id = new String(tempId);
Eğer bu daha kolay olurdu, eğer bir sınıfa tepki nesneleri çevirin, unutmayın.
İyi bir metin okumak için Java dosya y...
okumak için en kolay yolu java bir URL...
Java benzersiz ve kısa bir dosya adı o...
Ne'un yazdırmak için en kolay yol...
Nasıl bir dosya oluşturmak ve Java ile...