我使用Windows-7與Java 7更新6,發現這個怪異的(至少對我來說)的行爲 -
我有兩個文件E:\delete1.txt
和E:\delete2.txt
兩者都只讀文件,當我試圖刪除文件中像下面它就會沒有任何問題刪除 -差異刪除(路徑)和文件#刪除()
File file = new File("E:\\delete1.txt");
assertTrue(file.delete());
但是,當我使用NIO API類似刪除文件之後 -
Path path = Paths.get("E:\\delete2.txt");
Files.delete(path);
它引發java.nio.file.AccessDeniedException
。
爲什麼不同的行爲與新老NIO API相同的操作?
,如果你交換文件,您要刪除周圍即'NIO' API刪除'delete1.txt'和舊的API'File'刪除'delete2.txt'會發生什麼? –
nio調用在任何情況下都會失敗。 – Premraj
@MichaelBorgwardt爲什麼很奇怪?他只是想刪除文件(這恰好是隻讀) – assylias