• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
java小斌
让技术填满空虚的内心世界
博客园    首页    新随笔    联系   管理    订阅  订阅

Bukkit插件编程中.yml配置文件的创建和读取

 1 package com.sklm.config;
 2 
 3 import java.io.BufferedOutputStream;
 4 import java.io.BufferedReader;
 5 import java.io.File;
 6 import java.io.FileNotFoundException;
 7 import java.io.FileOutputStream;
 8 import java.io.FileReader;
 9 import java.io.IOException;
10 import java.util.HashMap;
11 import java.util.Map;
12 
13 public class PluginConfig {
14 
15     public static HashMap<String, Object> configMap = new HashMap<String,Object>();
16     public static String configPath = null;
17     public PluginConfig() {
18         try {
19             this.configPath = this.createFile();
20             this.readConfig();
21         } catch (IOException e) {
22             // TODO Auto-generated catch block
23             e.printStackTrace();
24         }
25     }
26     /**
27      * 创建配置文件
28      * @return 返回创建文件的标准路径
29      * @throws IOException
30      */
31     public String createFile() throws IOException {
32         boolean hasFile = true;
33         File plugins = null;
34         File messageConfig = null;
35         File messageBoard = null;
36         plugins = new File("./plugins");
37         if(!plugins.exists()) {
38             plugins.mkdirs();
39         }else {
40             messageBoard = new File(plugins.getCanonicalPath(),"messageBoard");
41             if(!messageBoard.exists()) {
42                 messageBoard.mkdirs();
43             }else {
44                 messageConfig = new File(messageBoard.getCanonicalPath(),"messageBoardConfig.yml");
45                 if(!(hasFile=messageConfig.exists())) {
46                     messageConfig.createNewFile();
47                 }
48             }
49         }
50         if(!hasFile) {
51             //Bukkit.getLogger().info("BufferedOutputStream"+messageConfig.getCanonicalPath());
52             FileOutputStream fos = new FileOutputStream(messageConfig.getCanonicalPath().toString()); // 
53             BufferedOutputStream bos = new BufferedOutputStream(fos);
54             bos.write(new String(" timerOut=10").getBytes());
55             if(bos != null) {
56                 bos.close();
57             }
58         }
59         return messageConfig.getCanonicalPath().toString();
60     }
61     /**
62      * 读取配置文件中的信息
63      * @author SK_03
64      * 
65      */
66     public void readConfig() {
67         String path;
68         try {
69             int len = 0;
70             path = this.createFile();
71             FileReader fr = new FileReader(path);
72             BufferedReader br = new BufferedReader(fr);
73             while((len=br.read()) != -1) {
74                 String configInfo = br.readLine();
75                 if(configInfo != null && !(configInfo.contains("##"))) {  //如果读取的内容不为空或者不是注释,则执行下面语句
76                     //System.out.println(configInfo);
77                     String[] configArray = configInfo.split("=");
78                     //System.out.println(configArray[0]+configArray[1]);
79                     configMap.put(configArray[0], configArray[1]);
80                     //System.out.println(configArray[0].toString()+"="+configArray[1]);
81                 }
82             }
83             if(br != null) {
84                 br.close();
85             }
86         } catch (FileNotFoundException e) {
87             // TODO Auto-generated catch block
88             e.printStackTrace();
89         }catch (IOException e) {
90             // TODO Auto-generated catch block
91             e.printStackTrace();
92         }
93     }
94     
95     
96     
97 }

 

posted @ 2018-05-12 09:23  Java小斌  阅读(2140)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3