@jett
Метод exists() следует использовать, когда необходимо проверить, существует ли файл или директория по указанному пути.
Метод isFile() следует использовать, когда необходимо проверить, является ли указанный путь файлом.
Метод canRead() следует использовать, когда необходимо проверить, возможно ли чтение из указанного пути файла.
@jett
Как дополнение можно сказать, что exists() и isfile() возвращают булево значение, показывающее наличие и тип файла, соответственно. Метод canRead() также возвращает булево значение, показывающее, можно ли читать файл. При необходимости дополнительных действий, например, записи в файл или чтения из него, можно использовать другие методы класса File, такие как canWrite() или setReadable().