Entwickler-Ecke

Dateizugriff - Fileripper schreiben


-dna- - Di 14.04.09 13:03
Titel: Fileripper schreiben
Hallo,

ich habe eine Datei, welche viele Bereiche enthält, welche ich gerne in separate Dateien haben möchte.
Die Anfänge erkenne ich an bestimmten Sequenzen in der Datei. Also das typische "old-school" Rippen. :)

Da ich kein passendes Tool dafür gefunden habe, glaubte ich mit selbstschreiben schneller zu sein.
Leider komme ich mangels Erfahrung in Dateiarbeit nicht weiter. Wenn ich mit Strings loslege, kann ich diese gut suchen (Pos()), aber das Laden in den großen String bekomme ich nicht hin. Den Ansatz über Bytearrays (File of Byte und dann sequentiell) hab ich noch nicht probiert, weil ich ich befürchte die Suchfunktion selbst schreiben zu müssen. :-(

Es ergeben sich für mich also 2 Fragen:
- Wie lade, durchsuche und verarbeite ich große Zeichenketten oder ein Array aus einer Datei (~2MB Daten)
- Gibt's vielleicht ein Tool was sowas kann.

Vielen Dank im Voraus,
DNA


BenBE - Di 14.04.09 13:10

user profile icon-dna- hat folgendes geschrieben Zum zitierten Posting springen:
Hallo,

ich habe eine Datei, welche viele Bereiche enthält, welche ich gerne in separate Dateien haben möchte.
Die Anfänge erkenne ich an bestimmten Sequenzen in der Datei. Also das typische "old-school" Rippen. :)

Grob Aufspalten einer Datei anhand bestimmter Muster.

user profile icon-dna- hat folgendes geschrieben Zum zitierten Posting springen:
Da ich kein passendes Tool dafür gefunden habe, glaubte ich mit selbstschreiben schneller zu sein.
Leider komme ich mangels Erfahrung in Dateiarbeit nicht weiter. Wenn ich mit Strings loslege, kann ich diese gut suchen (Pos()), aber das Laden in den großen String bekomme ich nicht hin. Den Ansatz über Bytearrays (File of Byte und dann sequentiell) hab ich noch nicht probiert, weil ich ich befürchte die Suchfunktion selbst schreiben zu müssen. :-(

Was ist daran so schwer? Da gibt's recht einfache Algorithmen, oder aber Dinge, wo Leute Diplomarbeiten zu schreiben :mrgreen:

user profile icon-dna- hat folgendes geschrieben Zum zitierten Posting springen:
Es ergeben sich für mich also 2 Fragen:
- Wie lade, durchsuche und verarbeite ich große Zeichenketten oder ein Array aus einer Datei (~2MB Daten)

2MB sind nicht groß. Ersetz das durch ein G, dann schon eher ;-)

Ich würde dir hier Streams empfehlen. Mit denen lädst Du immer einen gewissen Teil der Daten in den RAM und durchsuchst diesen Teilbereich, bevor Du den nächsten Bereich lädst. State Maschines sind hier recht hilfreich.

user profile icon-dna- hat folgendes geschrieben Zum zitierten Posting springen:
- Gibt's vielleicht ein Tool was sowas kann.

Vielen Dank im Voraus,
DNA

Wüsst ich auf Anhieb keines.


-dna- - Di 14.04.09 13:31

Hi,

2MB sind für nen String schon recht groß.
Aber das Problem habe ich inzwischen lösen können (logisch). Wenn man nicht nach "Ripper", sondern nach "Splitter" sucht, dann stößt man auf
http://www.gdgsoft.com/download/gsplit.aspx wo man einen Splitter erhält, welcher auch nach Patterns trennen kann.

Dank und Gruß,
DNA