Java File.exists () versus File.isFile ()

No puedo pensar en un caso de uso realista para el método.java.io.File.exists() o su equivalente en Java 7java.nio.file.Files.exists(Path). Parece queisFile() oisDirectory() sería preferible en todos los casos (ocanRead(), canWrite(), etc.).

Por ejemplo, en¿Cómo compruebo si existe un archivo en Java?, la respuesta aceptada parece tonta, como lo señala la segunda respuesta.

¿Alguien puede dar un ejemplo donde sea útil saber que una cosa existe,sin ¿Sabiendo si la cosa es un archivo o directorio?

EDIT: entiendo queFile.exists() hace. Mi pregunta es,cuando ¿Esa funcionalidad alguna vez ayudaría a alguien? Estoy buscando un ejemplo como "UseFile.exists() cuando _ _ _ _ _ _, porque ningunoFile.isFile() niFile.isDirectory() Añadir cualquier valor en ese caso ".

En retrospectiva, creo que mi confusión aquí fue con respecto a dos afirmaciones aparentemente contradictorias en el JavaDoc delFile clase. La primera oración define la clase como,

Una representación abstracta de los nombres de archivos y directorios.

Eso suena como una clara dicotomía; Pero más adentro, el doc. lo contrarresta.

Las instancias de esta clase pueden o no denotar un objeto real del sistema de archivos, como un archivo o un directorio.

Creo que un ejemplo de un tercer objeto de sistema de archivos hubiera ayudado enormemente en la documentación; pero esa categoría parece carecer incluso de un nombre, lo que resulta en una expresión incómoda del JavaDoc para elFiles clase: una colección de métodos estáticos,

que operan en archivos, directorios u otros tipos de archivos.

En la respuesta aceptada, @koral se refiere a estos otros tipos como "archivos especiales". Eso me parece adecuado. Son tan especiales, no sabía que existían.

Respuestas a la pregunta(3)

Su respuesta a la pregunta