Проверить, существует ли файл или каталог в Java

Научитесь проверять наличие файла или каталога по заданному пути, используя стандартные API ввода-вывода Java и NIO.

1. Использование Files.exists() и Files.notExists()

Java NIO предоставляет несколько хороших способов проверить, существует ли указанный файл или каталог. Используйте метод Files.exists() или метод Files.notExists() для таких проверок.

Path path = Files.createTempFile("testFile", ".txt");boolean exists = Files.exists(path); //true//ORPath tempDirectory = Files.createTempDirectory("temp-dir");boolean exists = Files.notExists(tempDirectory); //false

По умолчанию этот метод следует за символическими ссылками. Используйте LinkOption#NOFOLLOW_LINKS, если не нужно следовать за символическими ссылками.

Files.exists(symbolicLinkToFile, LinkOption.NOFOLLOW_LINKS)

2. Использование устаревшего File.exists()

Чтобы проверить, существует ли файл или каталог, используйте метод «exists()» класса Java java.io.File.

  • Если метод exists() возвращает значение true, то файл или каталог существует, в противном случае — не существует.
  • Если возникнет проблема с разрешением на чтение, будет выдано исключение SecurityException.
File tempFile = new File("c:/temp/temp.txt");boolean exists = tempFile.exists();

3. Проверка того, является ли файл доступным для чтения, записи или исполнения

Чтобы проверить, может ли программа получить доступ к файлу по мере необходимости, можно использовать методы isReadable(Path), isWritable(Path) и isExecutable(Path).

Программа Java для проверки файла на предмет его читаемости, записи и исполнения. Вам может потребоваться создать экземпляры Path, как обсуждалось в связанном посте.

final Path path = ...;Files.isReadable(path);//ORFiles.isWritable(path);//ORFiles.isExecutable(path);

Это все для быстрого совета, связанного с проверкой того, существует ли файл или каталог в java. Наряду с проверкой того, разрешено ли программе добавлять к нему содержимое, путем проверки его атрибута записи.

Исходный код на Github

Прокрутить вверх