Greenleon
Tripel-As
Taag,
Ein Java-Programm ueberwacht einen Ordner auf Aenderungen, indem der entsprechende Thread sich alle paar Sekunden den Ordnerinhalt auflisteten laesst.
Alle neuen Dateien werden dann zur weiteren Verarbeitung geladen.
Das Problem dabei ist folgendes: Wenn sich eine Datei noch im Kopiervorgang befindet, ist sie in der Liste enthalten. Wenn ich sie dann aber ins Programm lade habe ich eine unvollstaendige Datei und unvorhersehbares Verhalten tritt auf.
Gibt es irgendwelche eleganten Methoden, das zu verhindern?
Die einzige Loesung, die mir einfaellt, ist, die Dateien immer auf ihre Groesse zu ueberpruefen und sie dann erst zu laden, wenn zwei aufeinanderfolgende Pruefdurchlaeufe die gleiche Groesse fuer eine Datei ermitteln.
Ein Java-Programm ueberwacht einen Ordner auf Aenderungen, indem der entsprechende Thread sich alle paar Sekunden den Ordnerinhalt auflisteten laesst.
Alle neuen Dateien werden dann zur weiteren Verarbeitung geladen.
Das Problem dabei ist folgendes: Wenn sich eine Datei noch im Kopiervorgang befindet, ist sie in der Liste enthalten. Wenn ich sie dann aber ins Programm lade habe ich eine unvollstaendige Datei und unvorhersehbares Verhalten tritt auf.
Gibt es irgendwelche eleganten Methoden, das zu verhindern?
Die einzige Loesung, die mir einfaellt, ist, die Dateien immer auf ihre Groesse zu ueberpruefen und sie dann erst zu laden, wenn zwei aufeinanderfolgende Pruefdurchlaeufe die gleiche Groesse fuer eine Datei ermitteln.