如何用java创建目录和子目录结构?

如何用java创建目录和子目录结构?,java,Java,您好,我想用java创建目录和子目录。 我的目录结构是从当前应用程序目录开始的,意思是在当前项目目录中,如下所示 Images | |+ Background | |+ Foreground | |+Necklace |+Earrings |+Etc... 我知道如何创建目录,但我需要创建子目录,我用下面的代码尝试了,下一步应该做什么 File file = new File("Images

您好,我想用java创建目录和子目录。 我的目录结构是从当前应用程序目录开始的,意思是在当前项目目录中,如下所示

Images
   |
   |+ Background
   |
   |+ Foreground
          |
          |+Necklace
          |+Earrings
          |+Etc...
我知道如何创建目录,但我需要创建子目录,我用下面的代码尝试了,下一步应该做什么

File file = new File("Images");
file.mkdir();
你可以这样做

// The "/" is cross-platform safe as a path-separator in Java.
// So is "\\" but that's twice the characters!
String path = createImages.getAbsolutePath() + "/Images";
File f = new File(path);
if (!f.isDirectory()) {
  boolean success = f.mkdirs();
  if (success) {
    System.out.println("Created path: " + f.getPath());
  } else {
    System.out.println("Could not create path: " + f.getPath());
  }
} else {
  System.out.println("Path exists: " + f.getPath());
}
根据链接的Javadoc

创建以此抽象路径名命名的目录,包括任何必要但不存在的父目录。请注意,如果此操作失败,它可能已成功创建一些必要的父目录


您可以使用或创建目录。在这两者之间,后一种方法更具容错性,并将根据需要创建所有中间目录。另外,由于我看到您在问题中使用了“\\”,我建议使用作为可移植路径分隔符字符串。

您可以使用创建所有父目录


File.mkdirs()-创建以此抽象路径名命名的目录,包括任何必要但不存在的父目录。请注意,如果此操作失败,它可能已成功创建了一些必要的父目录。

Java 7开始,您可以使用&class

这是一个棘手的解决方案(因为我只使用了一条路径来访问整个结构)

如果您不喜欢棘手的解决方案,可以使用4条简单路径:

Path p1 = Paths.get("C:\\Images\\Background");
Path p2 = Paths.get("C:\\Images\\Foreground\\Necklace");
Path p3 = Paths.get("C:\\Images\\Foreground\\Earrings");
Path p4 = Paths.get("C:\\Images\\Foreground\\Etc");
然后为所有目录调用
createDirectories
方法:

Files.createDirectories(p1);
Files.createDirectories(p2);
Files.createDirectories(p3);
Files.createDirectories(p4);

您只需使用
file.mkdirs()
,它将创建子目录

String path = images + File.separator + Background + File.separator + Foreground + File.separator + Necklace + File.separator  + Earrings ;
File file = new File( path );
file.mkdirs();

不相关,但是——仅供参考——单词是带“a”的“项链”,而不是“e”。你看过
文件
类了吗?谢谢兄弟,仅供参考:)是的,我用这个文件试过createImages=新文件(“图像”);createImages.mkdir();destinationDir=createImages.getAbsolutePath();但是我找不到如何在images目录中创建子目录这非常方便,在单元测试期间创建临时目录时也是如此。
String path = images + File.separator + Background + File.separator + Foreground + File.separator + Necklace + File.separator  + Earrings ;
File file = new File( path );
file.mkdirs();