TRCStudioDean
一直以来我使用的方法都是直接创建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");
手打 可能会有错别字==

TRCStudioDean
cws_sh 发表于 2018-10-5 02:40
创建的话... 我一般用saveResource
获取的话, 以插件目录下的lang.yml为准
File file = new File(getDataFo ...

大致能理解,谢谢

2609848420
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);
不懂请追问 如果我的回答有帮助 请给我最高评分

TRCStudioDean
2609848420 发表于 2018-10-5 12:36
saveResource(String, boolean);这个方法针对Jar文件包内有的文件才行

如果需要即时创建 建议使用

嗯,我知道这么做了,顺带问一下,这类文件要进行reload需要如何做?有专门的方法吗?

耗子
迪安小弱渣 发表于 2018-10-6 22:55
嗯,我知道这么做了,顺带问一下,这类文件要进行reload需要如何做?有专门的方法吗? ...

你重新加载一次文件就可以了。。。

2609848420
迪安小弱渣 发表于 2018-10-6 22:55
嗯,我知道这么做了,顺带问一下,这类文件要进行reload需要如何做?有专门的方法吗? ...

你是指重载配置文件吗 我是建议这么写 以abc.yml做示例

  1. private static final File file = new File(folder, "abc.yml");
  2. private static final File folder = new File("plugins/MyPlugin");
  3. private static YamlConfiguration abc = YamlConfiguration.loadConfiguration(file);

  4. public static void reload(){
  5.     abc.load(file);
  6. }
复制代码


应该是这样的吧

第一页 上一页 下一页 最后一页