Diferença entre os arquivos # delete (Path) e File # delete ()

Estou usando o Windows-7 com o java 7 update 6 e encontrei esse comportamento estranho (pelo menos para mim) -
Eu tenho dois arquivosE:\delete1.txt eE:\delete2.txt ambos sãosomente leitura arquivos, quando eu tento excluir o arquivo como segue, ele é excluído sem problemas -

File file = new File("E:\\delete1.txt"); 
assertTrue(file.delete());

Mas quando eu apago arquivo usando nio API como seguindo -

Path path = Paths.get("E:\\delete2.txt");
Files.delete(path);

Lançajava.nio.file.AccessDeniedException.

Por que comportamento diferente para a mesma operação com a antiga e nova API do nio?

questionAnswers(2)

yourAnswerToTheQuestion