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

新手上路,请多包涵

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

 Images
   |
   |+ Background
   |
   |+ Foreground
          |
          |+Necklace
          |+Earrings
          |+Etc...

我知道如何创建目录但我需要创建子目录我尝试使用以下代码下一步应该做什么?

 File file = new File("Images");
file.mkdir();

原文由 Gopal00005 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 819
2 个回答

您可以使用 File.mkdir()File.mkdirs() 创建目录。在两者之间,后一种方法更宽容,会根据需要创建所有中间目录。此外,由于我看到您在问题中使用了“\\”,因此我建议使用 File.separator 作为可移植路径分隔符字符串。

原文由 Michael Aaron Safyan 发布,翻译遵循 CC BY-SA 3.0 许可协议

Java 7 开始,您可以使用 java.nio.file.Files & java.nio.file.Paths 类。

 Path path = Paths.get("C:\\Images\\Background\\..\\Foreground\\Necklace\\..\\Earrings\\..\\Etc");

try {
    Files.createDirectories(path);
} catch (IOException e) {
    System.err.println("Cannot create directories - " + e);
}

这是一个 棘手的解决方案(因为我只使用一条路径到达整个结构)。

如果您不喜欢棘手的解决方案,可以改用 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);

原文由 ROMANIA_engineer 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题