Thema: Delphi Virtuelles Dateisystem

Einzelnen Beitrag anzeigen

Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#13

Re: Virtuelles Dateisystem

  Alt 3. Jan 2008, 17:20
Zu der Frage, ob immer alles eingeleen wird: Ich habe ein wenig getestet.
Die Funktion ReadFile liefert einen Stream zurück, der genau den Teil des Archivs liest, der die gewünschte Datei enthält. Es wird also nicht immer alles eingelesen.
Das ganze macht es sehr bedienbar und speicherschonend, hat aber zwei kleine Nachteile:

1. Man kann das Archiv nicht komprimieren (dann müsste der Stream angepasst werden und entsprechend weniger lesen - ist also aufwändig)
2. Man kann Dateien nicht nachträglich vergrößern. Wenn an Dateien etwas angehangen werden soll, dann muss die bestehende Datei im Archiv entfernt werden und durch die neue, größere Datei ersetzt werden. Dadurch entsteht in der Datei ein "Loch" ähnlich wie man es von Datenbanken kennt (die ja, vereinfacht gesagt, nicht anders arbeiten). Durch den Aufruf der Methode Compact wird das gesamte Archiv neu geschrieben und die Löcher sind weg. Das erfordert je nach Größe des Archivs aber ein klein wenig Zeit.

Insgesamt sind das, imho geringfügige Einschränkungen die mich nicht stören. Wenn man die Streams geschickt einsetzt, kann man Dateien in einen Editor laden und die geänderten danach wieder zurückschreiben. Man muss dann nur regelmäßig Compact aufrufen (am besten beim Beenden).

Wer nutzt das denn noch oder will es nutzen und wofür? Würde mich mal interessieren...
Thomas
  Mit Zitat antworten Zitat