DKK007
PCGH-Community-Veteran(in)
Datei stückweise bzw. Sektorweise einlesen - Lazarus [SOLVED]
Hallo,
Ich arbeite derzeit an einem Programm, zum Auslesen von Datenträgerimages. Dabei sind die Rohdaten oft mehrere GB groß und könnten durchaus auch im TB Bereich landen.
Allerdings funktionieren die typischen TMemory/TStringStream nur bis 2 GB und die Komponente zum Anzeigen wird schon bei etwa 100 MB sehr träge.
Gibt es denn eine Möglichkeit bei einer großen Datei nur einen bestimmten Teil einzulesen? Dieser Teil würde mit Start- und End-Byte bzw. Sektor angegeben werden. Dabei würde es auch reichen, wenn man immer nur Bereiche aus ganzen Sektoren (512kB) auslesen kann.
Gibt es so eine Möglichkeit in Lazarus?
Ich möchte nämlich auch noch eine Funktion schreiben, mit der sich eine Hash-Liste von Sektoren erstellen lässt. Dabei soll es dann auch möglich sein bestimmte Hashes, von z.B. Sektoren, die nur aus FF o.ä. bestehen oder leer sind (alles 00) auszuschließen. Damit soll es möglich sein, Dateien die identisch mehrmals auf dem Datenträger vorhanden sind aufzuspüren. Bei größeren Dateien, die über mehrere Sektoren gehen, ließen sich somit auch vielleicht welche Retten, wenn man zusammen passende Fragmente findet.
(Vielleicht hat da ja auch noch jemand Tipps wegen Performance usw.)
Vielen Dank fürs Lesen.
MFG. DKK007
Hallo,
Ich arbeite derzeit an einem Programm, zum Auslesen von Datenträgerimages. Dabei sind die Rohdaten oft mehrere GB groß und könnten durchaus auch im TB Bereich landen.
Allerdings funktionieren die typischen TMemory/TStringStream nur bis 2 GB und die Komponente zum Anzeigen wird schon bei etwa 100 MB sehr träge.
Gibt es denn eine Möglichkeit bei einer großen Datei nur einen bestimmten Teil einzulesen? Dieser Teil würde mit Start- und End-Byte bzw. Sektor angegeben werden. Dabei würde es auch reichen, wenn man immer nur Bereiche aus ganzen Sektoren (512kB) auslesen kann.
Gibt es so eine Möglichkeit in Lazarus?
Ich möchte nämlich auch noch eine Funktion schreiben, mit der sich eine Hash-Liste von Sektoren erstellen lässt. Dabei soll es dann auch möglich sein bestimmte Hashes, von z.B. Sektoren, die nur aus FF o.ä. bestehen oder leer sind (alles 00) auszuschließen. Damit soll es möglich sein, Dateien die identisch mehrmals auf dem Datenträger vorhanden sind aufzuspüren. Bei größeren Dateien, die über mehrere Sektoren gehen, ließen sich somit auch vielleicht welche Retten, wenn man zusammen passende Fragmente findet.
(Vielleicht hat da ja auch noch jemand Tipps wegen Performance usw.)
Vielen Dank fürs Lesen.

MFG. DKK007
Zuletzt bearbeitet:

