Datei überprüfen, ob diese Freigeben ist oder fertig geschrieben wurde

bobymiller

Grünschnabel
Hallo,

kennt jemand von Euch eine Möglichkeit wie man überprüfen kann, ob eine Datei bereits fertig geschrieben wurde.

Dazu folgendes Szenario:
Ein DirectoryWatcher überwacht ein bestimmtes Verzeichnis auf neue Dateieingänge und soll diese dann direkt an einen anderen Ort wegkopieren und diese Datei in dem zuvor vorhandenen Verzeichnis löschen.

Jetzt wird von irdenem Programm oder Prozess eine 100MB große Datei mit dem Namen datas.txt in das zu überwachende Verzeichnis geschrieben. Jetzt wird hierbei zwar der Dateiname bereits angelegt allerdings dauert es ca. 5 Sekunden bis die Datei vollständig fertig geschrieben wurde.

Wenn der DirectoryWatcher jetzt versucht innerhalb dieser 5 Sekunden die Datei weg zu kopieren, wird eine Fehlermeldung ausgeben. So zu mindestens unter Windows.

Wie oben erwähnt, stellt sich die Frage, ob es in Java eine Möglichkeit gibt zu überprüfen, ob die Datei bereits fertig geschrieben wurde oder der Lock wieder freigeben ist.

Grüße
Boby
 
Hi,

Grösse lesen, 1-2 Sekunden warten und nochmals Grösse lesen. Solange bis sich diese nicht mehr ändert.

Grüsse,
BK
 
Zurück