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

5

我正在尝试使用Java创建一个可以一次性创建多个文件夹/子文件夹的函数。

我可以使用Filemkdirs()方法来创建单个文件夹及其父文件夹。

以下是我想要创建的文件夹结构的示例:

folder
└── subfolder
    ├── subsubfolder1
    ├── subsubfolder2
    └── subsubfolder3

例如在 Linux 中,我可以使用以下命令来实现这个功能:
mkdir -p folder/subfolder/{subsubfolder1,subsubfolder2,subsubfolder3}

有没有一种方法可以在Java中实现这个?
2个回答

4
我不确定是否存在这样的方法,但您肯定可以定义一个:

不确定是否存在这样的方法,但是您肯定可以定义一个:

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

那不是我想要的。我会修改问题以便更好地解释。 - Raimundo

1
我们可以使用路径(Path)简单地创建一个或多个目录:
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.*;包中找到Path、Paths和Files类,该包如下:

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

注意:确保方法应该抛出IOException或在try-catch中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接