Проверка существования директории

Kotlin:
Проверка существования директории

Как это сделать:

В Kotlin вы обычно будете использовать java.io.File (из стандартной библиотеки Java) для проверки наличия директории. Вот краткий пример:

import java.io.File

fun main() {
    val directoryPath = "path/to/directory"
    val directory = File(directoryPath)

    if (directory.exists() && directory.isDirectory) {
        println("Директория существует!")
    } else {
        println("Директория не существует.")
    }
}

Пример вывода, когда директория существует:

Директория существует!

И когда не существует:

Директория не существует.

Подробнее

Метод exists() в Java существует с ранних версий Java. Когда появился Kotlin, он сохранил сильную интероперабельность с Java, позволяя нам напрямую использовать библиотеки Java. Метод exists() возвращает true, если файл или директория существуют, но чтобы убедиться, что это директория, а не файл, мы также проверяем isDirectory.

Теперь о альтернативах:

  • Пакет java.nio.file в Kotlin: Он предоставляет Files.exists(path) и Files.isDirectory(path). Эти методы работают аналогично, но предлагают больший контроль над атрибутами файлов.

  • Специфические для Kotlin библиотеки: Некоторые библиотеки, разработанные сообществом, расширяют возможности Kotlin по работе с файлами. Они предлагают более идиоматичные решения для Kotlin, но под капотом часто являются просто обёртками вокруг классов ввода-вывода Java.

Работа с директориями - это сочетание проверки наличия (существует ли она?) и типа (файл это или директория?). Обе проверки ключевые для предотвращения нежелательных состояний файловой системы в вашей программе.

Смотрите также