So testen Sie, ob eine Datei mit Java „vollständig“ (vollständig geschrieben) ist

Angenommen, Sie hatten einen externen Prozess, der Dateien in ein bestimmtes Verzeichnis schrieb, und Sie hatten einen separaten Prozess, der regelmäßig versuchte, Dateien aus diesem Verzeichnis zu lesen. Das zu vermeidende Problem besteht darin, eine Datei zu lesen, die gerade von dem anderen Prozess ausgeschrieben wird, sodass sie unvollständig wäre. Derzeit verwendet der Lesevorgang eine Prüfung des Mindestalters für Dateien, sodass alle Dateien ignoriert werden, sofern ihr letztes Änderungsdatum nicht älter als XX Sekunden ist.

Ich frage mich, ob es einen saubereren Weg gibt, um dieses Problem zu lösen. Wenn der Dateityp unbekannt ist (es kann eine Reihe von verschiedenen Formaten geben), gibt es eine zuverlässige Möglichkeit, den Dateikopf auf die Anzahl der in der Datei enthaltenen Bytes zu überprüfen, und die Anzahl der aktuell in der Datei enthaltenen Bytes zu überprüfen, um zu bestätigen, dass sie übereinstimmen?

Danke für irgendwelche Gedanken oder Ideen!

Antworten auf die Frage(8)

Ihre Antwort auf die Frage