Files.createDirectories()
Создаёт папку вместе со всеми недостающими родительскими папками.
Доступно с: Java 7
Синтаксис
static Path createDirectories(Path dir, FileAttribute<?>... attrs) throws IOExceptionПараметры
| Параметр | Тип | Описание |
|---|---|---|
| dir | Path | Путь к папке. |
| attrs | FileAttribute<?>... | Права доступа (на Linux и macOS). Обычно не указывают. |
Возвращаемое значение
PathТот же путь.
Примеры
Вложенные папки за один вызов; повторный вызов не ошибка:
void main() throws IOException {
Path dir = Path.of("out", "2025", "march");
Files.createDirectories(dir);
Files.createDirectories(dir);
Files.writeString(dir.resolve("report.txt"), "ok");
IO.println(Files.exists(dir.resolve("report.txt")));
}Результат:
trueПримечания
Files.createDirectory() (без «-ies») создаёт только одну папку и бросает исключение, если она уже есть или нет родителя. createDirectories() удобнее почти всегда.
См. также
- Files.exists() — Проверяет, существует ли файл или папка. Рядом — isDirectory(), isRegularFile(), size().
- Files.writeString() — Записывает строку в файл: создаёт его или перезаписывает.
- Files.list() — Возвращает поток файлов и папок внутри папки (без вложенных). Рекурсивно обходит Files.walk().
- Path.of() — Создаёт объект Path — путь к файлу или папке.
Вопросы и ответы по теме
В учебнике
- Файлы и пути — Работа с файловой системой в Java — Path, Files.exists, создание папок и файлов, размер, копирование, перемещение, удаление и список файлов.