2009-04-28 6 views
1

Ich benutze die java.util.zip-Bibliothek und ZipOutputStream, um eine ZIP-Datei eines Verzeichnisses und aller darunter liegenden Dateien und Verzeichnisse zu erstellen. In meiner Anwendung ist es wahrscheinlich, dass ein anderer Thread während der Komprimierung auf dieselben Dateien zugreift. Ich bin kein Experte für Dateikomprimierung (oder Thread-Sicherheit, in diesem Fall), so ist meine Frage, Zippen ein Verzeichnis, während etwas anderes Zugriff auf diese Dateien auf beide Prozess ist?Hat das Zippen eines Verzeichnisses in Java Auswirkungen auf andere Prozesse, die dieselben Dateien verwenden?

Antwort

3

Nur wenn die Prozesse die Dateien so geöffnet haben, dass Lesezugriff durch andere Prozesse verhindert wird. (Dies erfordert normalerweise OS-spezifische Flags, um die Berechtigungen zu spezifizieren.) Also ist es sicherlich möglich, aber es ist nicht der übliche Fall.

1

Angenommen, Sie arbeiten unter Windows, und Ihr gleichzeitiger Zugriff ist schreibgeschützt, dann würde ich davon ausgehen, dass der ZIP-Prozess nichts beeinflusst.

Für eine detaillierte Herangehensweise an Java File Locking, siehe JDC Tech Tips.

Verwandte Themen