Java - 一次创建多个子文件夹

Java - Create Multiple Subfolders at Once

我正在尝试创建一个使用 Java 在一条指令中创建多个 folder/subfolders 的函数。 我可以使用 Filemkdirs() 方法来创建单个文件夹及其父文件夹。

我想要的结构示例:

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");
  }
}

我们可以在简单的步骤中使用路径创建一个目录或多个目录:

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 内。