Java 无法创建文件。mkdirs()始终返回false

Java 无法创建文件。mkdirs()始终返回false,java,file,return,mkdirs,Java,File,Return,Mkdirs,我有那个代码,但我不能创建文件。configFile.getParentFile.mkdirs;返回false 这在一段时间前是可行的,我只是导出了我的项目,然后无缘无故地停止了工作 File configFile = new File(ProfessionalWarns.getPluginDataFolder(), "config.yml"); if (!configFile.exists()) { configFile.getParen

我有那个代码,但我不能创建文件。configFile.getParentFile.mkdirs;返回false

这在一段时间前是可行的,我只是导出了我的项目,然后无缘无故地停止了工作

    File configFile = new File(ProfessionalWarns.getPluginDataFolder(),
            "config.yml");
    if (!configFile.exists()) {
        configFile.getParentFile().mkdirs();
        forceConfigUpdate = true;
    }
为bukkit插件编写代码的所有类:

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

编辑:

您可能想做:

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

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

编辑:

您可能想做:

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

你对路径上的所有目录都有写权限吗?@AlexanderPogrebnyak Hymm。。。那个保存bukkit插件所有文件的默认路径,所以我必须拥有它,这在一段时间以前就可以使用了。。。我只是重新启动eclipse,然后。。。poof…你对路径上的所有目录都有写权限吗?@AlexanderPogrebnyak Hymm。。。那个保存bukkit插件所有文件的默认路径,所以我必须拥有它,这在一段时间以前就可以使用了。。。我只是重新启动eclipse,然后。。。噗…我以前也试过,任何版本都不行。我又试了一次…测试。。。还是一样。如果你想创建一个文件而不是一个目录,我编辑的答案应该对你有用。Hyyym,非常感谢,因为这很有效,但是。。。真奇怪。。。我在3个插件中使用mkdirs。。。一切正常。无论如何谢谢,没问题。mkdir创建一个目录。我不知道该代码如何为您工作,但我很高兴它现在已排序。我以前也尝试过,但任何版本都不起作用。我又试了一次…测试。。。还是一样。如果你想创建一个文件而不是一个目录,我编辑的答案应该对你有用。Hyyym,非常感谢,因为这很有效,但是。。。真奇怪。。。我在3个插件中使用mkdirs。。。一切正常。无论如何谢谢,没问题。mkdir创建一个目录。我不知道该代码如何为您工作,但我很高兴它现在已排序。