Diferencia entre los archivos # eliminar (ruta) y el archivo # eliminar ()

Estoy usando Windows-7 con java 7 actualización 6 y encontré este comportamiento extraño (al menos para mí) -
Tengo dos archivosE:\delete1.txt yE:\delete2.txt ambos sonsolo lectura archivos, cuando intento eliminar un archivo como el siguiente, se elimina sin ningún problema.

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

Pero cuando borro un archivo usando la API de nio como sigue:

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

Se tirajava.nio.file.AccessDeniedException.

¿Por qué un comportamiento diferente para la misma operación con la API nio antigua y nueva?

Respuestas a la pregunta(2)

Su respuesta a la pregunta