Tikonteroga
Erfahrenes Mitglied
Hallo,
ich bin zurzeit dabei eine Anwendung zu erstellen mit der eine gewisse Aufgabe erledigt wird.
Dafür ist es in dieser Anwendung möglich ein Projekt zu erstellen, so wie es von Anwendungen wie z. B. Visual Studio und Eclipse gemacht wird.
Ich könnte diese Projekte nun als Verzeichnis speichern und dort die einzelnen Projekt-Dateien (hauptsächlich XML).
Ich möchte aber die Möglichkeit haben, die Projekte zu komprimieren und evtl. zu verschlüsseln.
Bei einem ersten Prototypen bin ich folgendermaßen vorgegangen.
Für die Komprimierung des temporären Verzeichnisses verwende die Library IonicZip.
Ich habe jetzt an meinem Konzept folgende Schwächen bzw. Probleme erkannt.
Hättet ihr vielleicht eine Idee bzw. einen Vorschlag wie ich mein Vorhaben stabiler, schneller und einfacher umsetzen könnte ?
Über Vorschläge würde ich mich sehr freuen.
ich bin zurzeit dabei eine Anwendung zu erstellen mit der eine gewisse Aufgabe erledigt wird.
Dafür ist es in dieser Anwendung möglich ein Projekt zu erstellen, so wie es von Anwendungen wie z. B. Visual Studio und Eclipse gemacht wird.
Ich könnte diese Projekte nun als Verzeichnis speichern und dort die einzelnen Projekt-Dateien (hauptsächlich XML).
Ich möchte aber die Möglichkeit haben, die Projekte zu komprimieren und evtl. zu verschlüsseln.
Bei einem ersten Prototypen bin ich folgendermaßen vorgegangen.
- Zwischen dem Öffnen bzw. Erstellen eines Projekts und dem Schließen eines Projekts halte ich alle Dateien im Speicher. Die geschieht zum Teil in der Form von Instanzen der Klasse XmlDocument
- Wenn das Projekt mit "Speichern" bzw. "Speichern unter..." gespeichert wird, werden alle Dateien (z. B. Instancen von XmlDocument) in einem temporären Verzeichnis gemäß dem FileSystem der Projektstruktur (beschrieben in einer XML-Datei) gespeichert. Anschließend wird die das temporäre Verzeichnis komprimiert und in der eigentlichen Projektdatei gespeichert.
Für die Komprimierung des temporären Verzeichnisses verwende die Library IonicZip.
Ich habe jetzt an meinem Konzept folgende Schwächen bzw. Probleme erkannt.
- Wenn ich das temporäre Verzeichnis erstelle muss ich möglichst einen Namen vergeben, der von keiner anderen Datei verwendet wird. Gibt es hierfür evtl. eine Bibliotheksfunktion ? Ich habe in der Klasse Path eine Methode gefunden, die eine *.tmp mit eindeutigem Namen erstellt. Kann ich hier evtl. ansetzen?
- Gibt es evtl. die Möglichkeit, dass ich im Speicher (RAM) ein temporäres Verzeichnis z. B. in Form eines Streams erstelle, dass ich dann direkt in das Zip-Archiv schreiben kann ?
Hättet ihr vielleicht eine Idee bzw. einen Vorschlag wie ich mein Vorhaben stabiler, schneller und einfacher umsetzen könnte ?
Über Vorschläge würde ich mich sehr freuen.