我正在尝试创建一个使用Java在单个指令中创建多个文件夹/子文件夹的函数。
我可以使用File
的{{1}}方法创建单个文件夹及其父文件。
我想要的结构的一个例子:
mkdirs()
例如在linux中,我可以使用以下命令实现此目的:
folder
└── subfolder
├── subsubfolder1
├── subsubfolder2
└── subsubfolder3
有没有办法在Java中实现这个目标?
答案 0 :(得分:2)
不确定这种方法是否存在,但你当然可以定义一个:
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");
}
}
答案 1 :(得分:0)
我们可以在“简单”步骤中使用“路径”创建一个或多个目录:
public static Path createDirectories() throws IOException {
String folderPath = "E://temp/user/UserId/profilePicture";
Path path = Paths.get(folderPath);
return Files.createDirectories(path);
}
路径,路径和文件类可以在java.nio.file。*中找到;软件包如下:
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
注意:-,请确保方法应引发IOException或在try-catch内。