Вопрос:
Я пытаюсь создать функцию, которая создает несколько папок/подпапок в одной инструкции с помощью Java. Я могу использовать метод File mkdirs() для создания одной папки и ее родителей.
Пример struture, который я хочу:
folder └── subfolder ├── subsubfolder1 ├── subsubfolder2 └── subsubfolder3
Например, в linux я могу добиться этого с помощью следующей команды:
mkdir -p folder/subfolder/{subsubfolder1,subsubfolder2,subsubfolder3}
Есть ли способ, которым я могу добиться этого на Java?
Лучший ответ:
Не уверен, существует ли такой метод, но вы, безусловно, можете его определить:
import java.io.File; import java.util.Arrays; class Test { public static boolean createDirectoriesWithCommonParent( File parent, String…subs) { parent.mkdirs(); if (!parent.exists() || !parent.isDirectory()) { return false; } for (String sub : subs) { File subFile = new File(parent, sub); subFile.mkdir(); if (!subFile.exists() || !subFile.isDirectory()) { return false; } } return true; } public static void main(String[] args) { createDirectoriesWithCommonParent(new File(«test/foo»), «a», «b», «c»); } }