java项目中读取properties文件

这里的配置文件都放在src下面, System.properties的内容
exceptionMapping=exceptionMapping.properties
config=config.properties
sys.core=systemCore.properties
sys.boss=bossPort.properties
bossPort.properties的内容
#查询机场火车站sim卡剩余次数的服务
NgCallServiceURL=http://*.*.*6.*:5***0/esbWS/services/NgCallService
#用户基本信息
sQUserBaseURL=http://*.*.*6.*:5***0/esbWS/services/sQUserBaseL
#用户积分查询
S3979SrcQryURL=http://*.*.*6.*:5***0/esbWS/services/s3979SrcQry
读取properties配置文件的java类
import java.io.*;
import java.util.*;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class GlobalConfig { private static Log log;
// system.properties是最根的配置文件,并且在src下面
public static final String SYSTEM_PROPERTIES = "/system.properties"; private static String propertiesStorePath;
private static Map propertieMap;
private static Map propertieFileMap; static {
log = LogFactory.getLog(com.sinovatech.common.config.GlobalConfig.class);
propertieMap = new HashMap();
propertieFileMap = new HashMap();
Properties properties = init("/system.properties");
Iterator it = properties.keySet().iterator();
propertiesStorePath = properties.getProperty("path");
String name;
Properties p;
for (; it.hasNext(); propertieMap.put(name, p)) {
name = (String) it.next();
String file = properties.getProperty(name);
file = file.trim();
System.out.println();
System.out.println("name "+name+" file "+file);
System.out.println();
propertieFileMap.put(name, file);
p = init("/" + file);
} } public GlobalConfig() {
} private static Properties init(String propertyFile) {
Properties p = new Properties();
try {
log.info("Start Loading property file \t" + propertyFile);
System.out.println("Start Loading property file \t" + propertyFile);
p.load(com.sinovatech.common.config.GlobalConfig.class
.getResourceAsStream(propertyFile));
log.info("Load property file success!\t" + propertyFile);
System.out.println("Load property file success!\t" + propertyFile);
} catch (Exception e) {
e.printStackTrace();
log.error("Could not load property file." + propertyFile, e);
}
return p;
} public static String getProperty(String cls, String name) {
Properties p = (Properties) propertieMap.get(cls);
if (p != null)
return p.getProperty(name);
else
return null;
} public static boolean getBooleanProperty(String cls, String name) {
String p = getProperty(cls, name);
return "true".equals(p);
} public static Integer getIntegerProperty(String cls, String name) {
String p = getProperty(cls, name);
if (p == null)
return null;
else
return Integer.valueOf(p);
} public static Long getLongProperty(String cls, String name) {
String p = getProperty(cls, name);
if (p == null)
return null;
else
return Long.valueOf(p);
} public static Double getDoubleProperty(String cls, String name) {
String p = getProperty(cls, name);
if (p == null)
return null;
else
return Double.valueOf(p);
} public static void store() {
} public static void store(String cls) {
Properties p = (Properties) propertieMap.get(cls);
try {
FileOutputStream fi = new FileOutputStream(new File(
(String) propertieFileMap.get(cls)));
p.store(fi, "Modified time: " + Calendar.getInstance().getTime());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} }
测试GlobalConfig.java读取配置文件信息
public static void main(String[] args) {
String requestUrl=GlobalConfig.getProperty("sys.boss","S3979SrcQryURL");
System.out.println("\n"+requestUrl);
}
测试内容输入:
Start Loading property file /system.properties
Load property file success! /system.properties
name sys.core file systemCore.properties
Start Loading property file /systemCore.properties
Load property file success! /systemCore.properties
name exceptionMapping file exceptionMapping.properties
Start Loading property file /exceptionMapping.properties
Load property file success! /exceptionMapping.properties
name sys.boss file bossPort.properties
Start Loading property file /bossPort.properties
Load property file success! /bossPort.properties
name config file config.properties
Start Loading property file /config.properties
Load property file success! /config.properties
http://*.*.*6.*:5***0/esbWS/services/s3979SrcQry
java项目中读取properties文件的更多相关文章
- Java项目中读取properties文件,以及六种获取路径的方法
下面1-4的内容是网上收集的相关知识,总结来说,就是如下几个知识点: 最常用读取properties文件的方法 InputStream in = getClass().getResourceAsStr ...
- java web中读取properties文件时的路径问题
在web开发时,难免会有一些固定的参数,我们一般把这些固定的参数存在properties文件中,然后用的时候要读出来.但经常出现一些错误,找不到相应的路径,所以,今天特地讲一些如何正确获得路径. 首先 ...
- Java在Web项目中读取properties文件
import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import ...
- 五种方式让你在java中读取properties文件内容不再是难题
一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...
- 如何在java类中读取Properties配置文件
在com.example包下有一个test.properties文件和测试类PropertyReadTest.java. test.properties 文件内容: author=zeige tea ...
- 分别用Java和JS读取Properties文件内容
项目中经常用到的配置文件,除了XML文件之外,还会用到Properties文件来存储一些信息,例如国际化的设置.jdbc连接信息的配置等.有时候也会把一些路径或者sql语句放到Properties中, ...
- Java/JavaWeb中读取资源文件
1.一般工程中使用I/O类指定文件的绝对路径读取 FileInputStream fis = new FileInputStream("src/main/resources/zsm.prop ...
- java代码如何读取properties文件
我们在开发工程中,有时候需要在Java代码中定义一些在部署生产环境时容易改变的变量,还需要我们单独放在一个外部属性文件中,方便我们将来修改.这里列出了两种比较方便的方式. 一.在Spring配置文件中 ...
- 在JavaScript文件中读取properties文件的方法
假设有JavaScript文件叫做:readproperties.js,这个文件需要读取config.properties这个配置文件,步骤如下: 1. 下载插件jquery.i18n.proper ...
随机推荐
- Mysql --分区表(7)Key分区
Key分区 按照Key进行分区非常类似于按照Hash进行分区,只不过Hash分区允许使用用户自定义的表达式,而Key分区不允许使用用户自定义的表达式,需要使用MySQL服务器提供的HASH函数;同时H ...
- 百度ECHARTS 饼图使用心得 处理data属性
做过CRM系统的童鞋应该都或多或少接触过hicharts或者echarts等数据统计插件.用过这两款,个人感觉echarts的画面更好看.至于功能,只有适合自己的才是最好的. 今天来说说我使用echa ...
- NumberSort选择法、冒泡法排序
public class NumberSort {/***读进9个数:*构建成一个int型数组:*顺序排好:**/public static void main(String args[]) {int ...
- Common scenarios to avoid in OLTP
Database Design Rule Description Value Source Problem Description 1 High Frequency queries having a ...
- log4net简单配置内容
首先将log4net.dll下载来,添加到项目引用中: 在assembly文件最后面加(其实没关系的): [assembly: log4net.Config.XmlConfigurator(Confi ...
- 【基础知识】.Net基础加强07 天
一. 自定义泛型 1. 泛型的目的:提高代码的复用性. 2. T:一般叫做“类型参数”,把数据类型作为参数传递 .一般用T类表示或者以大写T开头的比如:TKey,TValue.TOutput.TRes ...
- 用word-break: break-all解决不正确换行问题
这个在新闻频道存在已久的问题,今天终于把它给解决了! 问题是这样的,当一段文字中有比较长的链接地址,会造成链接地址之前的文字不能正确换行,效果如下: 对应的html代码如下: <p> 如图 ...
- listen--监听数量
listen--监听数量 #include <sys/socket.h> int listen(int sockfd, int backlog); /* backlog指定了该套接口排队的 ...
- [游戏模版20] Win32 物理引擎 加速运动
>_<:Compared with previous talk,there will be taking about how to create an accelerated speed. ...
- [翻译]Bob大叔:反思极限编程
译者注: Bob大叔14年后再次谈论极限编程.极限编程经历了14年的风风雨雨后,Bob大叔将会给它怎么样的定义那? 在我手中拿着的一本白皮薄书,在14年前彻底的改变了软件世界.这本书的标题是解析极限编 ...