文件删除无声地失败

时间:2014-03-11 04:08:47

标签: java file delete-file bukkit

这是一个与Bukkit有关的问题,尽管问题在于我的实际Java代码。

我的问题是我正在尝试删除播放器数据,但是出于不明原因,我无法这样做。 Bukkit控制台显示没有错误。我甚至使用File的{​​{1}}来检查我是否获得了正确的文件路径,而我是。显示结果boolean也导致.getAbsolutePath()

false

2 个答案:

答案 0 :(得分:1)

您确定已关闭任何写入/读取文件的流吗?据我了解,任何开放流都会阻止文件被删除。

答案 1 :(得分:0)

尝试将此用于您的文件:

final File configFile = new File(this.getDataFolder(), event.getPlayer().getName() + ".dat");
configFile.delete();

您只需使用此代码获取默认路径,然后使用该信息删除配置,而不是获取路径。

我认为你的问题是你没有告诉bukkit要查看哪个文件夹,你只是告诉它文件的路径,但它不知道从哪里开始。

要在插件的数据文件夹中的文件夹中创建配置文件,您可以这样做:

final File configFile = new File(this.getDataFolder(), "/Hub/players/" + event.getPlayer().getName() + ".dat");
configFile.delete(); 

在获取配置文件之前,您需要检查默认数据文件夹。默认数据文件夹是一个命名为插件命名的文件夹。

另外,你可能想尝试将它放在你的onDisable()方法中,看看它是否在那里工作,就像测试一样。