多個配置文件 - FileConfiguration類
注: 本章需要讀者了解關(guān)于 java.io 的一些基本知識, 如 File, InputStream 的基本運用像啼,還有 YAML 語法
學(xué)習(xí)目標
- 了解BukkitAPI中配置文件的結(jié)構(gòu)
- 理解FileConfiguration的基本操作
了解BukkitAPI中配置文件的結(jié)構(gòu)
在上一章中猖闪,我們知道 JavaPlugin#getConfig() 返回的是 FileConfiguration 類的對象,那么我們要怎么獲取一個.yml文件的 FileConfiguration 對象呢?
首先我們來看一下 org.bukkit.configuration 這個包, 這個包里保存的是Bukkit對于配置文件的相關(guān)處理
我們可以從下圖了解其結(jié)構(gòu)
從圖中我們可以看出 YamlConfiguration 繼承了 FileConfiguration碟嘴,FileConfiguration 繼承于 MemoryConfiguration
- YamlConfiguration (提供了外部讀取文件的操作)
- FileConfiguration (提供了讀取和保存的操作)
- MemoryConfiguration (提供了增刪改查的一些操作)
如果我們要獲取一個.yml文件的話我們可以使用
YamlConfiguration 里的靜態(tài)方法 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() 已經(jīng)操作就行了~
保存
File file = new File(getDataFolder(), "config.yml");
FileConfiguration config = YamlConfiguration.loadConfiguration(file);
// 那么我們想保存這個 "config" 的話我們需要做以下的操作
// 這一步會導(dǎo)致 IOException!! 我們可以用 try catch 做一些相關(guān)的操作~
config.save(file);