Java 文件会自动覆盖



我试图仅在旧版本不存在时才创建一个文件。

这就是我认为正在覆盖它的东西:

warningsFile = new File(plugin.getDataFolder(), "Warnings.yml");
warnings = YamlConfiguration.loadConfiguration(warningsFile);

这是在构造函数中,用于辅助类(不是主类)。每当重新加载服务器(这是针对服务器的)时,它似乎都会执行新的文件并覆盖。有没有更好的方法可以解决这个问题?

warningsFile = new File(plugin.getDataFolder(), "Warnings.yml");
if(!warningsFile.exists()) {
    try {
        warningsFile.createNewFile();
    }
    catch (Exception e) {
        Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.RED + "Couldn't create warnings.yml. Error: " + e.getMessage());
    }
}
warnings = YamlConfiguration.loadConfiguration(warningsFile);
  • 首先,我们实例化 File 的实例。如果文件不存在,我们尝试创建它。
  • 如果失败,我们会告诉控制台。
  • 最后,我们从该文件加载 YAML 配置。

我制作的这个视频可能会有所帮助:

http://www.youtube.com/watch?feature=player_embedded&v=_Rntj7r8jTQ

(知道这个服务器实现)

您可以简单地调用:

plugin.saveResource("warnings.yml", false);

这将从您的 jarfile 内部加载一个保存的 warnings.yml(您需要在那里放置一个),并且false指定不覆盖该文件。

相关内容

  • 没有找到相关文章

最新更新