I
ixanos
Gast
Welche Möglichkeiten bietet Java um Records in Dateien zu speichern und auszulesen?
--------------------------------------------------------------------------------
Hallo zusammen
Ich habe folgende Record-Struktur:
Record:
int a1;
int[] a2;
Beispiel: Record No1 = 14,{15,25,36}
Record No2 = 67,{15,25,36,45,56,78,89}
Ich möchte diese Records in eine Datei speichern können und dann aber auch die Möglichkeit haben auf beliebiges Record zuzugreifen. Die Datei würde im Regelfall 500.000 Records haben.Und ein normales Szenario wäre zu sagen: Gib mir Das Record No 123000 und es sollte dann etwas in folgender Form zurückgeben: 78, {45,23}. also einen int und ein Array von ints (genaue anzahl variiert von 1 bis 100.000 oder mehr !!!).
RandomAccessFile nehme ich an, kann hier nicht eingesetzt werden da man nicht wissen würde bei welches Byte man anfangen muss zu lesen. Man würde nicht wissen wo das 123000 Record anfängt da das array in jedem Record eine variierende Länge hat, und eins nach dem anderen alle Records auslesen bis das 123000e kommt ist auch keine realistische Lösung.
Hat jemand von euch schonmal so eine Problematik gehabt? Wie sollte man hier vorgehen? Die Datei ist viel zu gross um davon auszugehen dass man genug Speicher hat um diese in ein ArrayList oder Vector zu laden!
Gruss
Ioannis
--------------------------------------------------------------------------------
Hallo zusammen
Ich habe folgende Record-Struktur:
Record:
int a1;
int[] a2;
Beispiel: Record No1 = 14,{15,25,36}
Record No2 = 67,{15,25,36,45,56,78,89}
Ich möchte diese Records in eine Datei speichern können und dann aber auch die Möglichkeit haben auf beliebiges Record zuzugreifen. Die Datei würde im Regelfall 500.000 Records haben.Und ein normales Szenario wäre zu sagen: Gib mir Das Record No 123000 und es sollte dann etwas in folgender Form zurückgeben: 78, {45,23}. also einen int und ein Array von ints (genaue anzahl variiert von 1 bis 100.000 oder mehr !!!).
RandomAccessFile nehme ich an, kann hier nicht eingesetzt werden da man nicht wissen würde bei welches Byte man anfangen muss zu lesen. Man würde nicht wissen wo das 123000 Record anfängt da das array in jedem Record eine variierende Länge hat, und eins nach dem anderen alle Records auslesen bis das 123000e kommt ist auch keine realistische Lösung.
Hat jemand von euch schonmal so eine Problematik gehabt? Wie sollte man hier vorgehen? Die Datei ist viel zu gross um davon auszugehen dass man genug Speicher hat um diese in ein ArrayList oder Vector zu laden!
Gruss
Ioannis