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

那在前一段时间行得通,我只是导出我的项目,然后无故停止工作。

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


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

最佳答案

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

编辑:

您可能想做:

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

10-08 17:43