mcbzhu
本帖最后由 mcbzhu 于 2019-4-13 00:59 编辑

把插件的配置文件config.yml 和 plugin.yml 放到服务器端的plugin文件中 生成的新文件夹中(一般文件夹的名字和插件的名字一样)
这个要怎么实现?求大佬指教

Sunbread
1、plugin.yml不需要放到插件配置文件夹。
2、你的需求可以用saveDefaultConfig()实现。

mcbzhu
Sunbread 发表于 2019-4-12 22:02
1、plugin.yml不需要放到插件配置文件夹。
2、你的需求可以用saveDefaultConfig()实现。 ...

saveDefaultConfig() 会自动生成一个能够配置插件的文件夹以及config.yml吗?

樱花似
..................不知道

telxc
saveDefaultConfig() 会自动生成一个能够配置插件的文件夹以及config.yml吗?

mcbzhu
我试过了 会的

William_Shi
当然会啊
不过如果是另外的多个配置文件就没有saveDefaultConfig()这样的自带方法了
你需要这个(Java IO流)

William_Shi
  1. //最前面先自定义方法解析yaml
  2. public FileConfiguration load(File file) {
  3.         if (!(file.exists())) {
  4.             try {
  5.                 file.createNewFile();
  6.             } catch (IOException e) {
  7.                 e.printStackTrace();
  8.             }
  9.         }
  10.         return YamlConfiguration.loadConfiguration(file);
  11.     }

  12. //创建插件文件夹与config.yml文件
  13.         File file = new File(getDataFolder(), "config.yml");
  14.         if (!getDataFolder().exists()) {//判断目录是否存在 这里的目录是 plugin/插件名称/
  15.             getDataFolder().mkdir();//不存在则创建这个文件夹
  16.         }
  17.         if (!file.exists()) {//判断文件是否存在
  18.             this.saveDefaultConfig();//不存在则创建默认的config.yml文件
  19.         }
  20. //创建插件文件夹与area.yml文件,可以是任意的名称,也就是多个配置
  21.         File filea = new File(getDataFolder(), "area.yml");
  22.         if (!getDataFolder().exists()) {//判断目录是否存在 这里的目录是 plugin/插件名称/
  23.             getDataFolder().mkdir();//不存在则创建这个文件夹
  24.         }
  25.         if (!file.exists()) {//判断文件是否存在
  26.             FileConfiguration configarea = YamlConfiguration.loadConfiguration(filea);
  27.             File filearea = new File(getDataFolder(), "area.yml");
  28.             try {
  29.                 configarea.save(filearea);
  30.             } catch (IOException e) {
  31.                 e.printStackTrace();
  32.                 getLogger().info("ArenaPVP--保存文件中......");
  33.             } finally {

  34.             }
  35.         }
  36.         this.reloadConfig();//重载配置
  37.         FileConfiguration config = this.load(file);
复制代码

William_Shi
解析的话用snakeyaml
自己去搜一下

William_Shi
snakeyaml是java自带的
返回的是linkedhashmap继承hashmap
然后你强转map
就可以用map的方式去遍历yaml了

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