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 ...
随机推荐
- tcp/ip的一些概念
MTU,即Maximum Transmission Unit(最大传输单元),此值设定TCP/IP协议传输数据报时的最大传输单元.以太网的MTU值是1500 bytes. 首先计算最大的IP包中IP净 ...
- jQuery最佳实践(转载)
本文转载于阮一峰的博文. 上周,我整理了<jQuery设计思想>. 那篇文章是一篇入门教程,从设计思想的角度,讲解“怎么使用jQuery”.今天的文章则是更进一步,讲解“如何用好jQuer ...
- iOS 设置tableview头部不可以向下拉动..
- (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGPoint point = scrollView.contentOffset; i ...
- SQL到NOSQL的思维转变
NOSQL系统一般都会宣传一个特性,那就是性能好,然后为什么呢?关系型数据库发展了这么多年,各种优化工作已经做得很深了,NOSQL系统一般都是吸收关系型数据库的技术,然后,到底是什么因素束缚了关系型数 ...
- Python成长笔记 - 基础篇 (三)python列表元组、字典、集合
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 一.列表和元组的操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义 ...
- hdu 5748(求解最长上升子序列的两种O(nlogn)姿势)
Bellovin Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepte ...
- android 一题多改系列——android 打电话实现两种方法
在android开发中,用户能够拨打电话是最基本的需求.俗话说“条条大路通罗马”,实现拨打电话的方式有多种,今天,就提供最常用两种. 首先,拨打电话,对于用户来说,是一个耗费的操作,因此,需要一定权限 ...
- Mac OS X上尝试编译CoreCLR源代码
CoreCLR登陆GitHub之后,体验CoreCLR首当其冲的方式就是在自己的电脑上编译它,昨天分别在Windows与Linux上成功编译了CoreCLR,详见: 1)Windows上成功编译Cor ...
- Flex开发一周年感悟
优点: 1.Flex上手简单,与html和js很像,是一种web前端语言,对于简单的界面.图表.交互都有不错的封装.它能够让新手在短时间内开发出比较有模样的项目. 2.有很多第三方api可以使用,如a ...
- Asp.Net MVC Filter 实现方式和作用范围控制
MVC中的Filte 简单又优雅的实现了AOP ,在日志,权限,缓存和异常处理等方面用的比较多.但本文不是讨论Filter这些功能点,而是总结Filter实现的方式.说实现也不太准确,也就是它的呈现方 ...