РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
810 of 1163 menu

Метод createDirectories

Метод createDirectories класса Files создает директорию, а также все отсутствующие родительские директории в указанном пути. Если часть пути уже существует, она не вызывает ошибку. Первым параметром метод принимает путь к создаваемой директории, вторым необязательным параметром - набор атрибутов файла, которые нужно установить при создании.

Метод возвращает объект типа Path - путь к созданной директории. Если директория уже существует, метод не выбрасывает исключение, а просто возвращает путь к ней. Если по указанному пути существует файл, а не директория, будет выброшено исключение FileAlreadyExistsException.

Синтаксис

Files.createDirectories(path, [attrs])

Пример

Давайте создадим директорию с несколькими вложенными уровнями, которых еще не существует:

import java.nio.file.Files; import java.nio.file.Path; public class Main { public static void main(String[] args) throws Exception { Path path = Path.of("test", "sub", "dir"); Path res = Files.createDirectories(path); System.out.println(res); } }

Результат выполнения кода:

"test/sub/dir"

Пример

Давайте вызовем метод повторно для уже существующей директории и убедимся, что исключение не выбрасывается:

import java.nio.file.Files; import java.nio.file.Path; public class Main { public static void main(String[] args) throws Exception { Path path = Path.of("test", "sub", "dir"); Files.createDirectories(path); Path res = Files.createDirectories(path); System.out.println(res); } }

Результат выполнения кода:

"test/sub/dir"

Пример

Давайте проверим, что метод выбрасывает исключение, если по указанному пути уже существует файл:

import java.nio.file.Files; import java.nio.file.Path; public class Main { public static void main(String[] args) throws Exception { Path file = Path.of("test.txt"); Files.createFile(file); try { Files.createDirectories(file); } catch (Exception e) { System.out.println(e.getClass().getSimpleName()); } } }

Результат выполнения кода:

"FileAlreadyExistsException"

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

  • класс Files,
    который содержит методы для работы с файлами
  • метод createDirectory,
    который создает одну директорию
  • метод createFile,
    который создает новый файл
  • метод isDirectory,
    который проверяет, является ли путь директорией
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить