首页 > 代码库 > Java中读取.properties配置文件的通用类
Java中读取.properties配置文件的通用类
由于Java中读取配置文件的代码比较固定,所以可以将读取配置文件的那部分功能单独作为一个类,以后可以复用。为了能够达到复用的目的,不能由配置文件中每一个属性生成一个函数去读取,我们需要一种通用的方法读取属性,即由用户给出属性名字(作为方法参数)来获取对应属性的Value值。下面是示例代码:
1 import java.io.*; 2 import java.util.*; 3 4 import org.apache.commons.logging.Log; 5 import org.apache.commons.logging.LogFactory; 6 7 8 public class Configure { 9 10 // private static final Log log = LogFactory.getLog(ServerConfig.class);11 private static Properties config = null; 12 13 public Configure() {14 config = new Properties();15 }16 17 public Configure(String filePath) {18 config = new Properties();19 try {20 ClassLoader CL = this.getClass().getClassLoader();21 InputStream in;22 if (CL != null) {23 in = CL.getResourceAsStream(filePath);24 }else {25 in = ClassLoader.getSystemResourceAsStream(filePath);26 }27 config.load(in);28 // in.close();29 } catch (FileNotFoundException e) {30 // log.error("服务器配置文件没有找到");31 System.out.println("服务器配置文件没有找到");32 } catch (Exception e) {33 // log.error("服务器配置信息读取错误");34 System.out.println("服务器配置信息读取错误");35 }36 }37 38 public String getValue(String key) {39 if (config.containsKey(key)) {40 String value =http://www.mamicode.com/ config.getProperty(key);41 return value;42 }else {43 return "";44 }45 }46 47 public int getValueInt(String key) {48 String value =http://www.mamicode.com/ getValue(key);49 int valueInt = 0;50 try {51 valueInt = Integer.parseInt(value);52 } catch (NumberFormatException e) {53 e.printStackTrace();54 return valueInt;55 }56 return valueInt;57 } 58 }
单元测试:
@Test public void configureTest() { Configure config = new Configure("server.properties"); int port = config.getValueInt("server.port"); String ip = config.getValue("server.ip"); String sp = config.getValue("message.split"); System.out.println("port: " + port); System.out.println("ip: " + ip); System.out.println("sp: " + sp); }
配置文件如下:
server.port =30000server.ip=127.0.0.1server.backgroundRun = falseMAX_ERROR_NUM=1000message.split=\#message.over=31message.serverGetMessage=Yesmessage.wrong=Nomessage.serverGetOver=overmessage.serverFindSIM=findmessage.serverNotFindSIM=NotFind
Java中读取.properties配置文件的通用类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。