如何创建目录/文件夹?

一旦我测试了System.getProperty("user.home");

我必须创建一个目录(目录名“新文件夹”)当且仅当新文件夹不存在时。


当前回答

虽然这个问题已经有了答案。我想多放点东西,比如。 如果存在与您试图创建的目录名称相同的文件,则会提示错误。为将来的访客准备的。

public static void makeDir()
{
    File directory = new File(" dirname ");
    if (directory.exists() && directory.isFile())
    {
        System.out.println("The dir with name could not be" +
        " created as it is a normal file");
    }
    else
    {
        try
        {
            if (!directory.exists())
            {
                directory.mkdir();
            }
            String username = System.getProperty("user.name");
            String filename = " path/" + username + ".txt"; //extension if you need one

        }
        catch (IOException e)
        {
            System.out.println("prompt for error");
        }
    }
}

其他回答

new File("/path/directory").mkdirs();

这里的“directory”是你想要创建/存在的目录的名称。

大约7年后,我会将其更新为Bozho建议的更好的方法。

File theDir = new File("/path/directory");
if (!theDir.exists()){
    theDir.mkdirs();
}

只是想向每个调用File.mkdir()或File.mkdirs()的人指出,要小心File对象是目录而不是文件。例如,如果你为路径/dir1/dir2/file.txt调用mkdirs(),它将创建一个名为file.txt的文件夹,这可能不是你想要的。如果你正在创建一个新文件,同时也想自动创建父文件夹,你可以这样做:

            File file = new File(filePath);
            if (file.getParentFile() != null) {
                file.getParentFile().mkdirs();
            }

虽然这个问题已经有了答案。我想多放点东西,比如。 如果存在与您试图创建的目录名称相同的文件,则会提示错误。为将来的访客准备的。

public static void makeDir()
{
    File directory = new File(" dirname ");
    if (directory.exists() && directory.isFile())
    {
        System.out.println("The dir with name could not be" +
        " created as it is a normal file");
    }
    else
    {
        try
        {
            if (!directory.exists())
            {
                directory.mkdir();
            }
            String username = System.getProperty("user.name");
            String filename = " path/" + username + ".txt"; //extension if you need one

        }
        catch (IOException e)
        {
            System.out.println("prompt for error");
        }
    }
}

这种方式为我做一个单一的目录或更多或他们: 需要导入java.io.File; /*输入下面的代码添加目录dir1或检查是否存在dir1,如果不存在,则创建dir2和dir3 */

    File filed = new File("C:\\dir1");
    if(!filed.exists()){  if(filed.mkdir()){ System.out.println("directory is created"); }} else{ System.out.println("directory exist");  }

    File filel = new File("C:\\dir1\\dir2");
    if(!filel.exists()){  if(filel.mkdir()){ System.out.println("directory is created");   }} else{ System.out.println("directory exist");  }

    File filet = new File("C:\\dir1\\dir2\\dir3");
    if(!filet.exists()){  if(filet.mkdir()){ System.out.println("directory is  created"); }}  else{ System.out.println("directory exist");  }