注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

韬光养晦

路漫漫其修远兮,吾将上下而求索

 
 
 

日志

 
 

java读取资源文件  

2008-05-18 14:20:33|  分类: JAVA |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

来源:http://hi.baidu.com/quxiling/blog/item/908d8886cad02d3a66096e74.html


几乎所有的系统都需要通过获取配置/资源文件来方便配置系统 ,但怎样获取资源文件呢?
java的应用通常把配置文件和工程中的其他class放在一起(如log4j),原因是可以方便的使用classLoader的 getResourceAsStream()方法获取资源(其实java内部就是这样来 load class的),下面是一个简单例子:
比如你把文件(abc.properties)放到com.yourcompany.common包里面,在确保classpath包括该包的情况
下就可以按下面的方法获取资源:
ClassLoader cl = this.getClass().getClassLoader();
InputStream is = cl.getResourceAsStream("com/yourcompany/"+abc.properties)
进一步,如果abc.properties是一个标准的properties文件的话,比如其内容如下:
messageA = Ok!
还可以这样获取配置信息
Properties props = new Properties();
props.load(is);
String messageA = props.getProperty("messageA ");
则messageA== "Ok"
当然properties也可以是XML格式,只要他符合http://java.sun.com/dtd/properties.dtd的规范并且包含
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">的DOCTYPE declaration,就可以用props.loadFromXML(InputSteam in)方法载入property
ps:property 也提供store()和storeToXML方法保存属性


一个例子:

package com.ibm.course.config;

import java.io.IOException;
import java.util.Properties;

public class PropertyDBPassMgr {

static Properties props = new Properties();

 static {
               try {
                      props.load(PropertyDBPassMgr.class.getClassLoader().getResourceAsStream("config/dbpassword.properties"));

  } catch (IOException e) {

e.printStackTrace();

}

}

 public static String getProperties(String key) {

  return props.getProperty(key); 

}

}

  评论这张
 
阅读(1055)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018