美文网首页
Bukkit插件开发教程 - FileConfiguration

Bukkit插件开发教程 - FileConfiguration

作者: Zoyn_ | 来源:发表于2018-02-10 20:11 被阅读0次

    多个配置文件 - FileConfiguration类

    注: 本章需要读者了解关于 java.io 的一些基本知识, 如 File, InputStream 的基本运用,还有 YAML 语法

    学习目标

    • 了解BukkitAPI中配置文件的结构
    • 理解FileConfiguration的基本操作

    了解BukkitAPI中配置文件的结构

    在上一章中,我们知道 JavaPlugin#getConfig() 返回的是 FileConfiguration 类的对象,那么我们要怎么获取一个.yml文件的 FileConfiguration 对象呢?
    首先我们来看一下 org.bukkit.configuration 这个包, 这个包里保存的是Bukkit对于配置文件的相关处理
    我们可以从下图了解其结构

    Bukkit配置文件.png

    从图中我们可以看出 YamlConfiguration 继承了 FileConfigurationFileConfiguration 继承于 MemoryConfiguration

    • YamlConfiguration (提供了外部读取文件的操作)
    • FileConfiguration (提供了读取和保存的操作)
    • MemoryConfiguration (提供了增删改查的一些操作)

    如果我们要获取一个.yml文件的话我们可以使用
    YamlConfiguration 里的静态方法 loadConfiguration(File file)

    File file = new File(getDataFolder(), "config.yml");
    YamlConfiguration config = YamlConfiguration.loadConfiguration(file);
    
    // 当然上方的代码我们可以换成
    FileConfiguration config = YamlConfiguration.loadConfiguration(file);
    

    那么这样我们就可以获得到这个.yml文件的 FileConfiguration
    对象

    理解FileConfiguration的基本操作

    那么上方的代码我们获得了一个跟 getConfig() 返回值一样的一个对象,那么我们其实就跟 getConfig() 已经操作就行了~

    保存
    File file = new File(getDataFolder(), "config.yml");
    FileConfiguration config = YamlConfiguration.loadConfiguration(file);
    
    // 那么我们想保存这个 "config" 的话我们需要做以下的操作
    // 这一步会导致 IOException!! 我们可以用 try catch 做一些相关的操作~
    config.save(file);
    

    相关文章

      网友评论

          本文标题:Bukkit插件开发教程 - FileConfiguration

          本文链接:https://www.haomeiwen.com/subject/rykynxtx.html