Wie muss ich das machen?Die Datei beginnt mit einem Header, der wie folgt definiert ist:
typedef struct
{
int ID; // Datei-ID (muß immer 0x1a573fe0 sein)
int CRC; // CRC der gepackten Daten (ohne Header)
int UncompressedSize; // Größe der ungepackten Daten in Bytes
} THighscoreFileHeader;
Darauf folgen die Daten, die LZW-komprimiert sind (der Kompressor, der auch im
GIF-Bildformat verwendet wird; kann also mit einem
GIF-Dekomprimierer-Sourcecode entpackt werden, wenn die GIF-Header-Behandlung
rausgenommen wird).
Die entpackten Daten enthalten dann einfach für jeden Highscore-Eintrag einen
Datensatz:
typedef struct
{
char Name[64]; // Name des Spielers
int Score; // erreichte Punktzahl
int Rounds; // Anzahl Runden
int Day; // Tag
int Month; // Monat
int Year; // Jahr
} THighscoreEntry;
...
in = new BufferedInputStream(new FileInputStream(inputFile));
//--- 3 ints = 3 x 4 bytes überspringen
for ( int i=0; i< 3*4; i++) in.read();
...