我使用安装有Java 7更新6的Windows-7,发现了一个奇怪的(至少对我来说是)行为 -
我有两个文件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
而旧APIFile
删除delete2.txt
会发生什么? - David Kroukamp