Mkdir创建父目录(如果不存在)

时间:2020-04-09 17:41:27

标签: java

当我使用以下代码时,即使\ scrshot \ vb在D驱动器中不存在,它也会创建\ scrshot \ vb \ uv。

takeScreenshot("D:\\scrshot\\vb\\uv", "s.png");

    public void takeScreenshot(String fileDir,String fileName)
    {


        File directory=new File(fileDir);
        if(!directory.exists())
            directory.mkdir();
        File file=((TakesScreenshot)ddr).getScreenshotAs(OutputType.FILE);
        try {
            FileUtils.copyFile(file,new File(directory.getAbsolutePath()+File.separator+fileName));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }



    }

如果我的理解正确,那么mkdir()不会创建父文件夹(如果不存在)。但是在这里,它在D盘下创建\ scrshot \ vb \。 thread供参考。

2 个答案:

答案 0 :(得分:3)

我假设您正在使用Apache Commons FileUtildocumentation明确指出,如果目标文件不存在,则将创建该目录:

此方法将指定源文件的内容复制到 指定的目标文件。 存放目标文件的目录 如果不存在则创建该文件。如果目标文件存在,则 此方法将覆盖它。

答案 1 :(得分:0)

mkdir()从不创建父目录

但在您的代码中

FileUtils.copyFile(file,new File(directory.getAbsolutePath()+File.separator+fileName));

此行负责创建目录。