G
Guest
Gast
JRE 1.4, Windows XP
Ich kopiere eine Datei mit folgendem Code:
Danach versuche ich die Zieldatei wieder zu löschen mit folgendem Code:
Die Datei ist vollständig kopiert, kann aber tatsächlich nicht gelöscht werden. Die Channels werden fehlerfrei geschlossen. Habe den Copy auch schon mit Streams realisiert, das brachte den selben Fehler. Auch ein sleep() vor dem Löschen bringt keinen Erfolg.
Kann mir jemand erklären warum es nicht geht bzw. sagen wie es richtig geht?
Ich kopiere eine Datei mit folgendem Code:
Code:
public static void copyFile(File source, File destination) throws IOException {
FileChannel inChannel = new FileInputStream(source).getChannel();
FileChannel outChannel = new FileOutputStream(destination).getChannel();
try {
inChannel.transferTo(0, inChannel.size(), outChannel);
} finally {
if (inChannel != null)
try { inChannel.close(); } catch(Exception ignore) { LOG(e, e) }
if (outChannel != null)
try { outChannel.close(); } catch(Exception ignore) { LOG(e, e) }
}
}
Danach versuche ich die Zieldatei wieder zu löschen mit folgendem Code:
Code:
if (!file.delete())
throw new IOException("Datei konnte nicht gelöscht werden!");
Die Datei ist vollständig kopiert, kann aber tatsächlich nicht gelöscht werden. Die Channels werden fehlerfrei geschlossen. Habe den Copy auch schon mit Streams realisiert, das brachte den selben Fehler. Auch ein sleep() vor dem Löschen bringt keinen Erfolg.
Kann mir jemand erklären warum es nicht geht bzw. sagen wie es richtig geht?