如何在Java中创建文件夹?

59

如何在Java中创建空文件夹?


35
嗯,我谷歌了一下,这是第一个结果(; - dcow
9
StackOverflow的创建者表示,他们希望这里的问题成为Google上的第一个搜索结果。如果一个问题清晰明了且原创(不是StackOverflow上的重复问题),在这里提出一个容易被Google搜索到的简单问题是没有问题的。 - Basil Bourque
8个回答

77
File f = new File("C:\\TEST");
try{
    if(f.mkdir()) { 
        System.out.println("Directory Created");
    } else {
        System.out.println("Directory is not created");
    }
} catch(Exception e){
    e.printStackTrace();
} 

2
只是好奇:什么情况会触发else分支?每当创建失败时,难道不会出现异常吗? - Dirk Vollmar
1
不是 mkdir (全小写)吗?@0xA3: mkdir 会抛出 SecurityExceptions 异常,但如果 C:\TEST 不存在,那么这肯定不会发生吧? - Peter Jaric
6
如果您没有创建目录的权限,则执行else分支。 - Luc M
3
还有一个mkdirs函数,可以创建父文件夹:http://docs.oracle.com/javase/7/docs/api/java/io/File.html#mkdirs()。 - CC.
请不要使用catch(Exception e){e.printStackTrace()}:https://today.java.net/article/2006/04/04/exception-handling-antipatterns#catchingException - Nikita Bosik

21

20

Files.createDirectories() 方法在创建文件夹时,若目标文件夹已存在,则不会报错而是直接忽略。 - gronostaj
@gronostaj 这仅适用于父目录。如果主目录(在此情况下为“folder”)已经存在,则会抛出异常(请参见javadoc)。 - Marius

6
使用 mkdir() 方法:
new File('/path/to/folder').mkdir();


4

使用Java 8:

Files.createDirectories(Paths.get("/path/to/folder"));

相同:

new File("/path/to/folder").mkdirs();

或者

Files.createDirectory(Paths.get("/path/to/folder"));

相同:

new File("/path/to/folder").mkdir();

0
以下代码可用于创建单个或多个目录:
import java.io.File;

public class CreateSingleOrMultipleDirectory{
    public static void main(String[] args) {
//To create single directory
        File file = new File("D:\\Test");
        if (!file.exists()) {
            if (file.mkdir()) {
                System.out.println("Folder/Directory is created successfully");
            } else {
                System.out.println("Directory/Folder creation failed!!!");
            }
        }
//To create multiple directories
        File files = new File("D:\\Test1\\Test2\\Test3");
        if (!files.exists()) {
            if (files.mkdirs()) {
                System.out.println("Multiple directories are created successfully");
            } else {
                System.out.println("Failed to create multiple directories!!!");
            }
        }
    }
}

您可以访问以下链接:https://www.roseindia.net/java/beginners/java-create-directory.shtml。 - Ripon Al Wasim

0
最好使用mkdirs,如下所示:
new File("dirPath/").mkdirs();

mkdirs: 如果不存在父目录,则同时创建父目录。

提示:不要忘记结尾处的/,它明确表示您要创建一个目录。


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