Java文件会自动覆盖吗?

时间:2014-03-31 17:19:26

标签: java file yaml

如果旧版本不存在,我只想创建一个文件。

我认为这就是我所覆盖的:

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

(了解此服务器实施)

您只需致电:

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

这将从你的jar文件中加载一个已保存的warnings.yml(你需要在那里放一个),而false指定不覆盖该文件。