Bukkit插件开发教程 - FileConfiguration类(多个配置文件)

多个配置文件 - FileConfiguration类

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

学习目标

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

了解BukkitAPI中配置文件的结构

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

Bukkit插件开发教程 - FileConfiguration类(多个配置文件)_第1张图片
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类(多个配置文件))