Wie um zu verhindern, Datei überschrieben wird, wenn das Lesen und Verarbeiten mit Java?
-
13-09-2019 - |
Frage
Ich würde müssen lesen und verarbeiten etwas große Datei mit Java und ich würde gerne wissen, ob es irgendeine vernünftige Weg ist, um die Datei zu schützen, wäre es nicht durch andere Prozesse überschrieben werden, während ich lese & Verarbeitung oder?
Das heißt, auf irgendeine Weise macht es schreibgeschützt, hält sie „offen“ oder so ...
Das in Windows-Umgebung durchgeführt werden würde.
br, Touko
Lösung
Sie wollen eine FileLock :
FileChannel channel = new RandomAccessFile("C:\\foo", "rw").getChannel();
// Try acquiring the lock without blocking. This method returns
// null or throws an exception if the file is already locked.
FileLock lock = channel.tryLock();
// ...
// release it
lock.release();
der Einfachheit halber habe ich ein enclosng Versuch weggelassen / schließlich blockieren, aber Sie sollten nicht in Ihrem Produktionscode
Andere Tipps
Arbeiten meist in Ordnung, einige Probleme bekommen: als Verriegelungs scheint nicht völlig absolute zu sein.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow