由于Java中读取配置文件的代码比较固定,所以可以将读取配置文件的那部分功能单独作为一个类,以后可以复用。为了能够达到复用的目的,不能由配置文件中每一个属性生成一个函数去读取,我们需要一种通用的方法读取属性,即由用户给出属性名字(作为方法参数)来获取对应属性的Value值。下面是示例代码:

 import java.io.*;
import java.util.*; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; public class Configure { // private static final Log log = LogFactory.getLog(ServerConfig.class);
private static Properties config = null; public Configure() {
config = new Properties();
} public Configure(String filePath) {
config = new Properties();
try {
ClassLoader CL = this.getClass().getClassLoader();
InputStream in;
if (CL != null) {
in = CL.getResourceAsStream(filePath);
}else {
in = ClassLoader.getSystemResourceAsStream(filePath);
}
config.load(in);
// in.close();
} catch (FileNotFoundException e) {
// log.error("服务器配置文件没有找到");
System.out.println("服务器配置文件没有找到");
} catch (Exception e) {
// log.error("服务器配置信息读取错误");
System.out.println("服务器配置信息读取错误");
}
} public String getValue(String key) {
if (config.containsKey(key)) {
String value = config.getProperty(key);
return value;
}else {
return "";
}
} public int getValueInt(String key) {
String value = getValue(key);
int valueInt = 0;
try {
valueInt = Integer.parseInt(value);
} catch (NumberFormatException e) {
e.printStackTrace();
return valueInt;
}
return valueInt;
}
}

单元测试:

    @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

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

  1. 如何在java类中读取Properties配置文件

    在com.example包下有一个test.properties文件和测试类PropertyReadTest.java. test.properties 文件内容: author=zeige  tea ...

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

    一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...

  3. Java中读取 .properties 和 .xml 文件

    配置文件内容获取 总结内容 1. Java中为什么要使用配置文件 2. Java中常用的配置文件类型有哪些以及它们的特点 Properties配置文件 XML配置文件 总结 总结内容 1. Java中 ...

  4. Java中读取properties资源文件

    一.通过ResourceBundle来读取.properties文件 /** * 通过java.util.resourceBundle来解析properties文件. * @param String ...

  5. java 如何读取 properties 配置文件

  6. javaweb 读取properties配置文件参数

    场景1:在servlet中读取properties配置文件参数 protected void doGet(HttpServletRequest request, HttpServletResponse ...

  7. Java读取properties配置文件工具类

    1.   PropertyUtils.java package javax.utils; import java.io.InputStream; import java.util.Properties ...

  8. java读取properties配置文件总结

    java读取properties配置文件总结 在日常项目开发和学习中,我们不免会经常用到.propeties配置文件,例如数据库c3p0连接池的配置等.而我们经常读取配置文件的方法有以下两种: (1) ...

  9. java读取properties配置文件信息

    一.Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置 ...

随机推荐

  1. WinRAR命令行版本 rar.exe使用详解

    RAR 命令行语法~~~~~~~~~~~~~~ 语法 RAR.exe <命令>  [ -<开关> ]  <压缩文件>  [ <@列表文件...> ]   ...

  2. Maven 项目中 添加自己的jar包

    mvn install:install-file   -Dfile=java-bloomfilter-1.0.jar  -DgroupId=com.sina  -DartifactId=java-bl ...

  3. as3 XML类和XMLList类的区别

    一.XML类和XMLList类的区别       AS3.0中,处理XML主要用到两个主类,XML类和XMLList类,这两个类的很多内容是共通的.应该有人会问,XML和XMLList的区别是什么? ...

  4. 前端-CSS-10-定位

    <!-- 定位有三种: 1.相对定位 2.绝对定位 3.固定定位 这三种定位,每种定位都暗藏玄机,所以我们要一一单讲 position:relative; position:absolute; ...

  5. Spring Boot Unregistering JMX-exposed beans on shutdown

    创建springboot项目运行的时候报这个错误Unregistering JMX-exposed beans on shutdown,搜索发现第一条是: Spring boot 嵌入的tomcat不 ...

  6. 读取数据库信息并生成表设计文档Word版本

    1.参考C#代码 using Help.DBAccessLayer.Business; using Help.DBAccessLayer.Model.SqlGenerator; using Newto ...

  7. Redis cli 操作

    备份 root@575e8088b5fb:/data# redis-cli LASTSAVE(integer) 1500273743root@575e8088b5fb:/data# redis-cli ...

  8. Unicode、UTF8与UTF16

    1 概念 Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案 UTF是“Unicode Transformation Format”的缩写,可以翻译成Unicode字符集转换格式 ...

  9. ubuntu的文本界面修改字体大小

    使用命令: dpkg-reconfigure console-setup

  10. Python int() 函数

    Python int() 函数  Python 内置函数 描述 int() 函数用于将一个字符串或数字转换为整型. 语法 以下是 int() 方法的语法: class int(x, base=10) ...