无法创建文件.mkdirs()总是返回false

use*_*333 1 java return file mkdirs

我有那个代码,但我无法创建文件.configFile.getParentFile()mkdirs(); 返回false.

这工作不久前,我只是导出我的项目,并没有任何理由停止工作.

    File configFile = new File(ProfessionalWarns.getPluginDataFolder(),
            "config.yml");
    if (!configFile.exists()) {
        configFile.getParentFile().mkdirs();
        forceConfigUpdate = true;
    }
Run Code Online (Sandbox Code Playgroud)

所有类(bukkit插件的代码):http://pastebin.com/hTPetAxu

Wil*_*son 6

mkdir创建一个目录而不是文件.当您获取文件的父级,然后在其上调用mkdir,并且它已经存在时,它无法创建.因为父母已经存在.

编辑:

你可能想做:

File configFile = new File(ProfessionalWarns.getPluginDataFolder(),
    "config.yml");
if (!configFile.exists()) {
    boolean fileWasCreated = configFile.createNewFile();
    forceConfigUpdate = true;
}
Run Code Online (Sandbox Code Playgroud)