Unzipper - was brauch ich dafür?
-
Dachte mir, ich versuch einen simplen unzipper zu programmierern, der mir e in einfaches, nicht kompromiertes archiv entpackt.
Was für komponenten braucht man für ein solches tool? ich brauchte da einen kleinen denkanstoß :-).
-
Hi!
Wie was brauchst du für so ein Tool? Was genau willst du denn wissen? Willst du ein vorhandenes Format verwenden oder ein eigenes.
Ein paar Informationen mehr wären nicht schlecht...grüße
-
Erstmal brauchst du einen Algorithmus zum Komprimieren/Dekomprimieren deiner Dateien (im einfachsten Fall reicht auch ein Verfahren, mit dem du mehrere Dateien zusammenschmeißen und sauber wieder trennen kannst). Danach kannst du die Arbeit per fstream's selber erledigen.
(wie das aussieht, dürfte von deinem Verfahren abhängen)
-
Hi!
Der Witz ist ja das er garkeine komprimierten Dateien will. Das einzigste was er machen muss ist, die einzelnen Daten in eine große Datei zu schreiben und (sinnvollerweise) eine Offsettabelle mit beizulegen.
grüße
-
wie sehen solche offsettabellen aus, kann ich mir nicht sonderlich viel drunter vorstellen. Hab bisher "nur" mit simplen klassen gearbeitet und bin über eine nutzlose dialogverwaltung nicht hinaus gekommen.
Kann man sich wo in das Thema einlesen?
-
Das ist eine einfache Tabelle, die einem Dateinamen einen Offset in der Archivdatei zuweist (ala "test.txt" beginnt an Position 150 ab Dateibeginn). Diese Tabelle mußt du beim Archivieren mitführen und so unterbringen, daß du sie später wiederfindest - und beim Aufsplitten des Archivs mußt du erst die Offsettabelle einlesen und mit ihren Informationen die Teildateien trennen.
Alternativ kannst du auch vor jeder Datei den Namen und Größe ins Archiv packen und dann sequentiell auslesen und verteilen.
-
Habe sowas auf der Arbeit schonmal für unkomprimierte zipfiles gemacht. Ist relativ einfach. Die Formatbeschreibung bekommst du hier dann heißt es einfach nur runterprogrammieren.