Java创建不存在的目录

时间:2014-07-10 16:57:34

标签: java

我目前正在为文件管理服务器开发RecycleBin组件。删除文档后,将从多个位置删除所有版本。发生这种情况时,所有文件夹路径都将删除到重复的字符串dp_original_folder_paths。

我想创建不存在的文件夹路径。

这是我目前的代码。第一部分检查文件是否存在,如果没有创建它。第二部分显示文件正在重新链接到文件夹。

for (int i = 0;
            i < relationRecord.getValueCount("dp_original_folder_paths"); i++)
            {
                File f = new File(relationRecord.getRepeatingString(
                        "dp_original_folder_paths",
                        i));

                if(!f.exists())
                {
                    System.out.println("creating directory" + f);
                    f.mkdir();
                }
// Link the document back to the original folders

    for (int i = 0; i < relationRecord.getValueCount("dp_original_folder_paths")
                i++)
     {

    document.link(
        relationRecord.getRepeatingString("dp_original_folder_paths", i));

    }

给出的输出是

创建目录:\ EAM \ sbotest

创建了DIR

链接到/ EAM / sbotest

DfPathNotFoundException :: THREAD:http-bio-8080-exec-7;味精:[DM_API_E_EXIST]错误 或:“/ EAM / sbotest指定的文件夹不存在。”; ERRORCODE:100;下一步:null

有谁知道为什么在第一个println中输出是\ EAM \ sbotest而第二个输出是\成为/ / EAM / sbotest

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

自Java 1.7以来,建议使用

Files.createDirectories(new File("C:/dir1/dir2/dir3/").toPath());

Files (Java Platform SE 7 )

答案 1 :(得分:0)

使用f.mkdirs()创建父目录。 f.mkdir()只会尝试创建最后一个子目录,父目录必须存在。

答案 2 :(得分:0)

你有没有看过File#mkdirs

它将为您创建目录和任何不存在的父目录。