Hallo,
für ein etwas größeres Projekt sind wir momentan dabei ein eigenes Datei-Archiv-Format zu entwerfen. Wie das aussehen soll und wie wir damit arbeitet können steht schon fest und ist auch kein Problem. Da ich aber ungerne mit einer Parent-Child Logik arbeiten will, suche ich momentan nach einer Möglichkeit, wie ich ein Verzeichnisbaum mit Dateien hirarchisch abgebildet bekomme, was an sich kein Problem wäre, wenn man dieses Archiv nicht auch bearbeiten können soll. Das Archiv soll also so aufgebaut sein, dass die Verzeichnisse so darin auftauchen, dass sie durch ein einfaches aneinande hängen der Namen den Pfad ergeben ohne, dass man groß mit irgendeiner Parent-Child-Logik arbeiten muss (IDs oder Ähnliches). Enthält ein Verzeichnis Dateien, so sollen diese direkt danach in dem Archiv autauchen (nur eine Art Header. Daten werden wahrscheinlich weiter "hinten" untergebracht)
Mir stellt sich nun aber die Frage, wie ich in die Mitte einer Datei schreiben kann, was ich für dieses Weg benötigen würde. Mir fällt nur die Möglichkeit ein, die Daten bis zu dieser Position in eine neue Datei zu schreiben, die neuen Daten dahinter zu hänge und anschließend die verbleibenden Daten aus der alten Datei hinzufüge. Anschließend wird die Datei einfach mit der neuen überschrieben.
Schön und gut, wenn es nun nicht das nächste Problem gäbe, denn dieses Archiv-Format soll am Ende Daten von mehreren 100 MB in sich vereinen. Daher schätze ich, dass diese Variante wohl eine sehr schelchte Performance hätte und mit zu viel temporären Speicher belastet wäre.
Ich habe auch schon im WWW gesucht, aber nur diese Variante scheint es zu geben.
Habt ihr vielleicht eine Idee, wie ich es bewerksteligen kann, dass ich an eine beliebige Stelle innerhalb des Archivs neue Daten schreiben kann ohne, dass ich diesen Kopieraufwand habe oder bleibt mir da nur eine Parent-Child-Logik?
Ich weiß, dass es irgendwie gehen muss, da ich auf meinem Rechner etwas habe, dass so zu arbeiten scheint, wie ich es gerne hätte. Ich habe jedoch keinerlei Sourcen von diesem Archiv-Writer (nur vom Reader für dieses Format).
Ich bin für jeden Tipp dankebar
Gruß,
grubi
für ein etwas größeres Projekt sind wir momentan dabei ein eigenes Datei-Archiv-Format zu entwerfen. Wie das aussehen soll und wie wir damit arbeitet können steht schon fest und ist auch kein Problem. Da ich aber ungerne mit einer Parent-Child Logik arbeiten will, suche ich momentan nach einer Möglichkeit, wie ich ein Verzeichnisbaum mit Dateien hirarchisch abgebildet bekomme, was an sich kein Problem wäre, wenn man dieses Archiv nicht auch bearbeiten können soll. Das Archiv soll also so aufgebaut sein, dass die Verzeichnisse so darin auftauchen, dass sie durch ein einfaches aneinande hängen der Namen den Pfad ergeben ohne, dass man groß mit irgendeiner Parent-Child-Logik arbeiten muss (IDs oder Ähnliches). Enthält ein Verzeichnis Dateien, so sollen diese direkt danach in dem Archiv autauchen (nur eine Art Header. Daten werden wahrscheinlich weiter "hinten" untergebracht)
Mir stellt sich nun aber die Frage, wie ich in die Mitte einer Datei schreiben kann, was ich für dieses Weg benötigen würde. Mir fällt nur die Möglichkeit ein, die Daten bis zu dieser Position in eine neue Datei zu schreiben, die neuen Daten dahinter zu hänge und anschließend die verbleibenden Daten aus der alten Datei hinzufüge. Anschließend wird die Datei einfach mit der neuen überschrieben.
Schön und gut, wenn es nun nicht das nächste Problem gäbe, denn dieses Archiv-Format soll am Ende Daten von mehreren 100 MB in sich vereinen. Daher schätze ich, dass diese Variante wohl eine sehr schelchte Performance hätte und mit zu viel temporären Speicher belastet wäre.
Ich habe auch schon im WWW gesucht, aber nur diese Variante scheint es zu geben.
Habt ihr vielleicht eine Idee, wie ich es bewerksteligen kann, dass ich an eine beliebige Stelle innerhalb des Archivs neue Daten schreiben kann ohne, dass ich diesen Kopieraufwand habe oder bleibt mir da nur eine Parent-Child-Logik?
Ich weiß, dass es irgendwie gehen muss, da ich auf meinem Rechner etwas habe, dass so zu arbeiten scheint, wie ich es gerne hätte. Ich habe jedoch keinerlei Sourcen von diesem Archiv-Writer (nur vom Reader für dieses Format).
Ich bin für jeden Tipp dankebar
Gruß,
grubi