Hallo zusammen!
Ich sitze jetzt bestimmt schon seit 5 Stunden an dem Problem und komme und komme nicht weiter.
Das Problem ist folgendes:
Ich lade eine Datei in der Daten in verschiedenen Dateitypen gespeichert sind:
Jetzt habe ich einen Wert der an Stelle 36 gespeichert ist.
Bei diesem Wert handelt es sich um den Datentyp Integer.
An dieser Stelle ist ein Unix-Timestamp abgespeichert.
Kleines Beispiel:
Nach Adam Riese sollte dies in einen Long umgewandelt 1281630305 ergeben.
Was ja auch einen korrekten Timestamp darstellt.
Die Daten sind im HEX-Format gespeichert.
Ich öffne und lese die Datei folgendermaßen aus:
Tja. Allerdings lädt er mir den Wert jetzt in einen Char-Array.
Ich brauche das ganze aber entweder als Hexadezimal-Zahl oder direkt umgewandelt in einen Long.
Ich komme einfach nicht weiter
Hoffentlich kann mir jemand helfen.
Danke schonmal!
Ich sitze jetzt bestimmt schon seit 5 Stunden an dem Problem und komme und komme nicht weiter.
Das Problem ist folgendes:
Ich lade eine Datei in der Daten in verschiedenen Dateitypen gespeichert sind:
Code:
char : 1-byte ascii character
byte : 1-byte integer
word : 2-byte integer
int : 4-byte integer, lowest byte first
Jetzt habe ich einen Wert der an Stelle 36 gespeichert ist.
Bei diesem Wert handelt es sich um den Datentyp Integer.
An dieser Stelle ist ein Unix-Timestamp abgespeichert.
Kleines Beispiel:
Code:
61 20 64 4C
Was ja auch einen korrekten Timestamp darstellt.
Die Daten sind im HEX-Format gespeichert.
Ich öffne und lese die Datei folgendermaßen aus:
Java:
BufferedReader br = new BufferedReader(new FileReader(this.getDateiname()));
// Variablen anlegen
char buffer[] = new char[laenge];
String s;
// Zu der angegebenen Position springen
br.skip(position);
// Text bis zur angegeben Länge auslesen und in char-Array buffer schreiben
br.read(buffer, 0, laenge);
// Lesemarke in der Datei auf Position 0 zurücksetzen
this.resetMark();
// Inhalt des char-Arrays buffer in den String s schreiben
s = new String(buffer);
// Leerzeichen im String s entfernen und zurückgeben
return s.trim();
Tja. Allerdings lädt er mir den Wert jetzt in einen Char-Array.
Ich brauche das ganze aber entweder als Hexadezimal-Zahl oder direkt umgewandelt in einen Long.
Ich komme einfach nicht weiter
Hoffentlich kann mir jemand helfen.
Danke schonmal!