Unterschied zwischen Files # delete (Path) und File # delete ()
Ich verwende Windows-7 mit Java 7 Update 6 und habe dieses merkwürdige (zumindest für mich) Verhalten festgestellt.
Ich habe zwei DateienE:\delete1.txt
undE:\delete2.txt
beide sindschreibgeschützt Dateien, wenn ich versuche, Dateien wie folgt zu löschen, werden sie ohne Probleme gelöscht -
File file = new File("E:\\delete1.txt");
assertTrue(file.delete());
Aber wenn ich eine Datei mit der nio API lösche, wie folgt:
Path path = Paths.get("E:\\delete2.txt");
Files.delete(path);
Es wirftjava.nio.file.AccessDeniedException
.
Warum unterschiedliches Verhalten bei gleicher Bedienung mit alter und neuer nio API?