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 = config.getProperty(key);
41             return value;
42         }else {
43             return "";
44         }
45     }
46
47     public int getValueInt(String key) {
48         String value = 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 =30000
server.ip=127.0.0.1
server.backgroundRun = false
MAX_ERROR_NUM=1000
message.split=\#
message.over=31
message.serverGetMessage=Yes
message.wrong=No
message.serverGetOver=over
message.serverFindSIM=find
message.serverNotFindSIM=NotFind
时间: 2024-10-10 07:40:33

Java中读取.properties配置文件的通用类的相关文章

java中读取properties配置文件用例

在近期需要部署一个项目,所以用到了配置文件. 对于读取配置文件的过程,考虑到效率问题,决定在程序启动时将配置文件内的键值读写入变量. 这样一来,之后程序每次对键值的访问就不用在读配置文件了,而是直接取变量值. 如下是简化之后的用例,展示了一种对properties文件的读取使用方法: 1.创建配置文件data.properties,文件内容如下: user=BUPT pwd=100876 2.创建存储配置文件键值用到的文件Conf.java 1 public class Conf { 2 3 p

五种方式让你在java中读取properties文件内容不再是难题

一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC+Mybatis整合开发的项目中通过java程序读取properties文件内容的方式进行了梳理和分析,先和大家共享. 二.项目环境介绍 Spring 4.2.6.RELEASE SpringMvc 4.2.6.RELEASE Mybatis 3.2.8 Maven 3.3.9 Jdk 1.7 Id

Java中读取properties资源文件

一.通过ResourceBundle来读取.properties文件 /** * 通过java.util.resourceBundle来解析properties文件. * @param String path:properties文件的路径 * @param String key: 获取对应key的属性 * @return String:返回对应key的属性,失败时候为空. */ public static String getPropertyByName1(String path,String

一个简单的spring 程序(如何在java类中读取Properties配置文件)

首先是个User类: package spring_introduction;public class User {String name; public String getName() {return name;} public void setName(String name) {this.name = name;}public void hello(){System.out.println("hello "+name);}} 配置文件Name.properties name=L

Java中读取properties 文件

Properties properties = new Properties(); // 方法1 try { // 在加载的class文件中加载,文件是和类文件放在一下的 ClassLoader loader = PropertiesUtil.class.getClassLoader(); InputStream inStream = loader.getResourceAsStream("config.properties"); properties.load(inStream);

java读取properties配置文件总结

java读取properties配置文件总结 在日常项目开发和学习中,我们不免会经常用到.propeties配置文件,例如数据库c3p0连接池的配置等.而我们经常读取配置文件的方法有以下两种: (1).使用getResourceAsStream()方法读取配置文件. (2).使用InputStream()流去读取配置文件. 注意:在使用getResourceAsStream()读取配置文件时,要特别注意配置文件的路径的写法. this.getClass.getResourceAsStream(f

java读取.properties配置文件的几种方法

读取.properties配置文件在实际的开发中使用的很多,总结了一下,有以下几种方法(仅仅是我知道的):一.通过jdk提供的java.util.Properties类.此类继承自java.util.HashTable,即实现了Map接口,所以,可使用相应的方法来操作属性文件,但不建议使用像put.putAll这两个方法,因为put方法不仅允许存入String类型的value,还可以存入Object类型的.因此java.util.Properties类提供了getProperty()和setPr

java读取properties配置文件

java读取.properties配置文件 这两天做java项目,用到属性文件,到网上查资料,好半天也没有找到一个满意的方法能让我读取到.properties文件中属性值,很是郁闷,网上讲的获取属性值大概有以下方法,以下三种方法逐渐优化,以达到最好的效果以下都以date.properties文件为例,该文件放在src目录下,文件内容为 startdate=2011-02-07 totalweek=25 方法一: public class Stweek { static private Strin

如题,properties配置文件在项目中是经常用到的,那么读取properties配置文件的方法有哪些呢?

方法一:可以通过java.util.Properties类的load()方法 1 InputStreamin=lnewBufferedInputStream(newFileInputStream(name)); 2 Propertiesp=newProperties(); 3 p.load(in); 方法二:利用spring来读取properties配置文件org.springframework.beans.factory.support.PropertiesBeanDefinitionRead