Java File.exists () против File.isFile ()

Я не могу придумать реалистичный вариант использования методаjava.io.File.exists() или его эквивалент в Java 7java.nio.file.Files.exists(Path), Кажется, чтоisFile() или жеisDirectory() будет предпочтительным во всех случаях (или,canRead()canWrite(), так далее.).

Например, вКак проверить, существует ли файл в Java?принятый ответ кажется глупым, как указывает второй ответ.

Может ли кто-нибудь привести пример, где это "полезно знать, что вещь существует,без зная, является ли вещь файлом или каталогом?

РЕДАКТИРОВАТЬ: я понимаю, чтоFile.exists() делает. Мой вопроскогда эта функциональность когда-нибудь поможет кому-то? Я'Я ищу пример, как, "использованиеFile.exists() когда _ _ _ _ _ _, потому что ниFile.isFile() ниFile.isDirectory() добавить любое значение в этом случае. "

Оглядываясь назад, я думаю, что мое замешательство было связано с двумя, казалось бы, противоречивыми утверждениями в JavaDocFile учебный класс. Первое предложение определяет класс как,

Абстрактное представление имен файлов и каталогов.

Это звучит как четкая дихотомия; но дальше, док возражает против этого,

Экземпляры этого класса могут обозначать или не обозначать фактический объект файловой системы, такой как файл или каталог.

Я думаю, что пример третьего объекта файловой системы очень помог бы в документации; но этой категории, кажется, не хватает даже названия, что приводит к неловкому выражению JavaDoc дляFiles класс: коллекция статических методов,

которые работают с файлами, каталогами или другими типами файлов.

В принятом ответе @koral называет эти другие типы "специальные файлы ", Это кажется мне подходящим. Они такие особенные, я неЯ знаю, что они существовали.