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

时间:2016-02-16 10:36:11

标签: java directory subdirectory

我正在尝试创建一个使用Java在单个指令中创建多个文件夹/子文件夹的函数。 我可以使用File的{​​{1}}方法创建单个文件夹及其父文件。

我想要的结构的一个例子:

mkdirs()

例如在linux中,我可以使用以下命令实现此目的:

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

有没有办法在Java中实现这个目标?

2 个答案:

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