我正在使用带有 java 7 update 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 进行相同的操作会有不同的行为?