Files.move() scheitert, wirft aber keine Ausnahme

29/01/2016 - 18:22 von Christoph Schneegans | Report spam
Hallo allerseits!

In meiner Applikation gibt es folgenden Aufruf:

java.nio.Files.move(source, target,
java.nio.file.StandardCopyOption.REPLACE_EXISTING);

Nun ist offenbar – bislang einmalig – folgendes passiert:

• Die vorhandene, nicht leere Datei target wurde geleert bzw. durch eine
0 Bytes großen Datei ersetzt.
• source ist noch unveràndert vorhanden (und ist nicht leer, sondern ca.
1,5 MB groß).
• Es gab _keine_ Ausnahme.

Die Applikation wird unter CentOS 5.11 ausgeführt. source und target
sind Pfade im lokalen Dateisystem. Dieselbe Operation hat zuvor in fast
einer Million Fàllen fehlerfrei funktioniert.

Was könnte hier passiert sein?

<http://schneegans.de/lv/> · Validator für BCP 47
 

Lesen sie die antworten

#1 ram
30/01/2016 - 08:09 | Warnen spam
Christoph Schneegans writes:
Die vorhandene, nicht leere Datei target wurde geleert bzw. durch eine
0 Bytes großen Datei ersetzt.
source ist noch unveràndert vorhanden (und ist nicht leer, sondern ca.
1,5 MB groß).
Es gab _keine_ Ausnahme.



Ich würde das dann in eine eigene Methode verpacken, die
(gegebenenfalls vor dem Bewegen das Ziel sichert und dann)
nach dem Bewegen eine Verifikation vornimmt und dann eine
Ausnahme wirft, falls die Verifikation einen Fehler entdeckt.

Ähnliche fragen