您的位置:首页 > 运维架构 > Linux

JAVA读取classess下的.properties配置文件封装类,linux和windows上都可以使用

2014-01-06 17:54 786 查看
http://hi.baidu.com/myzhijie/item/3f73e988aef52bd85e0ec131import java.io.BufferedInputStream;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

/**
* 读取Properties综合类
* @author
*/
public class PropertiesUtil {

/**
* 配置文件对象
*/
private Properties props=null;

/**
* 构造函数
* @param fileName 配置文件名称
*/
public PropertiesUtil(String fileName){
String filePath=getPath(PropertiesUtil.class) + fileName;
props = new Properties();
try {
InputStream in = new BufferedInputStream(new FileInputStream(filePath));
props.load(in);
//关闭资源
in.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

/**
* 根据key值读取配置的值
* Jun 26, 2010 9:15:43 PM
* @author 朱志杰
* @param key key值
* @return key 键对应的值
* @throws IOException
*/
public String readValue(String key) throws IOException {
return props.getProperty(key);
}

/**
* 读取properties的全部信息
* Jun 26, 2010 9:21:01 PM
* @author 朱志杰
* @throws FileNotFoundException 配置文件没有找到
* @throws IOException 关闭资源文件,或者加载配置文件错误
*
*/
public Map<String,String> readAllProperties() throws FileNotFoundException,IOException {
//保存所有的键值
Map<String,String> map=new HashMap<String,String>();
Enumeration en = props.propertyNames();
while (en.hasMoreElements()) {
String key = (String) en.nextElement();
String Property = props.getProperty(key);
map.put(key, Property);
}
return map;
}

/**
* 得到某一个类的路径
* @param name
* @return
*/
private String getPath(Class name) {
String strResult = null;
if (System.getProperty("os.name").toLowerCase().indexOf("window") > -1) {
strResult = name.getResource("/").toString().replace("file:/", "")
.replace("%20", " ");
} else {
strResult = name.getResource("/").toString().replace("file:", "")
.replace("%20", " ");
}
return strResult;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: