一直以来我使用的方法都是直接创建config.yml在源包里然后在onEnable内添加saveDefaultConfig()和reloadConfig(),使用getConfig()然后getString("")来获取config.yml内的某个位置的数据,但这样做的话插件只能有一个config.yml,我想创建多个配置文件,能把插件内的一些功能设置区分开来,我知道怎么使用File来创建新的配置文件,但是现在问题就是我不知道如何使用getConfig的方法来获取这类文件内的某个位置的数据,以及能在启动服务器的时候创建并加载,有大佬能分享一下经验吗?
创建的话... 我一般用saveResource
获取的话, 以插件目录下的lang.yml为准
File file = new File(getDataFolder(), "lang.yml");
FileConfiguration lang = YamlConfiguration.loadConfiguration(file);获取方法和getConfig().get...一样
例如lang.getString("Test");
手打 可能会有错别字==
获取的话, 以插件目录下的lang.yml为准
File file = new File(getDataFolder(), "lang.yml");
FileConfiguration lang = YamlConfiguration.loadConfiguration(file);获取方法和getConfig().get...一样
例如lang.getString("Test");
手打 可能会有错别字==
cws_sh 发表于 2018-10-5 02:40
创建的话... 我一般用saveResource
获取的话, 以插件目录下的lang.yml为准
File file = new File(getDataFo ...
大致能理解,谢谢
saveResource(String, boolean);这个方法针对Jar文件包内有的文件才行
如果需要即时创建 建议使用
File file = new File(File, String);
file.createNewFile();
这个方法需要包含于try{}catch语句中
建议书写格式:
如我的插件叫MyPlugin
private static final File folder = new File("plugins/MyPlugin");
private static final File configFile = new File(folder, "config.yml");
static{
if(!configFile.exist()){
configFile.createNewFile();
}
}
此时config.yml文件创建完成 读取的话就用
YamlConfiguration config= YamlConfiguration.loadConfiguration(configFile);
不懂请追问 如果我的回答有帮助 请给我最高评分
如果需要即时创建 建议使用
File file = new File(File, String);
file.createNewFile();
这个方法需要包含于try{}catch语句中
建议书写格式:
如我的插件叫MyPlugin
private static final File folder = new File("plugins/MyPlugin");
private static final File configFile = new File(folder, "config.yml");
static{
if(!configFile.exist()){
configFile.createNewFile();
}
}
此时config.yml文件创建完成 读取的话就用
YamlConfiguration config= YamlConfiguration.loadConfiguration(configFile);
不懂请追问 如果我的回答有帮助 请给我最高评分
2609848420 发表于 2018-10-5 12:36
saveResource(String, boolean);这个方法针对Jar文件包内有的文件才行
如果需要即时创建 建议使用
嗯,我知道这么做了,顺带问一下,这类文件要进行reload需要如何做?有专门的方法吗?
迪安小弱渣 发表于 2018-10-6 22:55
嗯,我知道这么做了,顺带问一下,这类文件要进行reload需要如何做?有专门的方法吗? ...
你重新加载一次文件就可以了。。。
迪安小弱渣 发表于 2018-10-6 22:55
嗯,我知道这么做了,顺带问一下,这类文件要进行reload需要如何做?有专门的方法吗? ...
你是指重载配置文件吗 我是建议这么写 以abc.yml做示例
- private static final File file = new File(folder, "abc.yml");
- private static final File folder = new File("plugins/MyPlugin");
- private static YamlConfiguration abc = YamlConfiguration.loadConfiguration(file);
- public static void reload(){
- abc.load(file);
- }
应该是这样的吧