Java:制作目录的正确方法

发布于 2024-07-26 06:09:39 字数 430 浏览 4 评论 0原文

目录 some_folder、some_folder_1、some_folder_2 和 some_folder_3 最初不存在。

File folder1 = new File("some_folder/some_folder_1"); 
File folder2 = new File("some_folder/some_folder_2"); 
File folder3 = new File("some_folder/some_folder_3"); 

if(!folder1.exists()) {
    folder1.mkdirs();
}

if(!folder2.exists()) {
    folder2.mkdirs();
}

if(!folder3.exists()) {
    folder3.mkdirs();
}

这是一个好方法吗?

Directories some_folder, some_folder_1, some_folder_2, and some_folder_3 don't exist initially.

File folder1 = new File("some_folder/some_folder_1"); 
File folder2 = new File("some_folder/some_folder_2"); 
File folder3 = new File("some_folder/some_folder_3"); 

if(!folder1.exists()) {
    folder1.mkdirs();
}

if(!folder2.exists()) {
    folder2.mkdirs();
}

if(!folder3.exists()) {
    folder3.mkdirs();
}

Would that be a good way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

泅人 2024-08-02 06:09:39

不要使用路径分隔符,而是使用正确的构造函数:

File folder1 = new File("some_folder", "some_folder_1"); 
if (!folder1.exists()) {
    folder1.mkdirs(); // returns a boolean
}

Don't use the path separator, use the correct constructor instead:

File folder1 = new File("some_folder", "some_folder_1"); 
if (!folder1.exists()) {
    folder1.mkdirs(); // returns a boolean
}
谜兔 2024-08-02 06:09:39

好吧,你不需要测试 - 如果目录已经存在, mkdirs 只是返回 false 。 我更愿意为 some_folder 使用一个“基本”文件,以避免对斜杠进行硬编码,尽管正斜杠可能适用于大多数流行的平台:)

File baseFolder = new File("some_folder");
new File(baseFolder, "some_folder_1").mkdirs();
new File(baseFolder, "some_folder_2").mkdirs();
new File(baseFolder, "some_folder_3").mkdirs();

请注意,如果名称已经存在,但作为文件而不是文件夹,这不会引发任何异常...

Well you don't need the tests - mkdirs just returns false if the directory already exists. I'd prefer to use one "base" file for some_folder to avoid hard-coding the slash, even though a forward slash is likely to work on most popular platforms :)

File baseFolder = new File("some_folder");
new File(baseFolder, "some_folder_1").mkdirs();
new File(baseFolder, "some_folder_2").mkdirs();
new File(baseFolder, "some_folder_3").mkdirs();

Note that this won't throw any exceptions if the names already exist but as files instead of folders...

当爱已成负担 2024-08-02 06:09:39

或者

String[] folders = {"some_folder_1", "some_folder_2", "some_folder_3"};
File root = new File("some_folder");
for (String folder: folders)
    new File(root, folder).mkdirs();

or

String[] folders = {"some_folder_1", "some_folder_2", "some_folder_3"};
File root = new File("some_folder");
for (String folder: folders)
    new File(root, folder).mkdirs();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文