ITPub博客

首页 > Linux操作系统 > Linux操作系统 > java读取ApplicationResources.properties资源文件

java读取ApplicationResources.properties资源文件

原创 Linux操作系统 作者:85579711 时间:2013-08-09 13:43:24 0 删除 编辑

java读取ApplicationResources.properties资源文件

有时做系统时会有这样的需要,直接读取

ApplicationResources.properties资源文件

//代码里直接读取资源文件内容可以使用如下测试代码,修改即可用。下面第一句是找到资源文件,这里是直接找classes的目录
  InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("ApplicationResources.properties");
  Properties props = new Properties();
  props.load(inputStream);
  System.out.println(props.getProperty("common.batchEdit.message")); 

//上代码输出:请选择要编辑的记录,common.batchEdit.message 为资源文件里的key。资源文件一般会放转码过后的编码,例如:common.batchEdit.message=/u8bf7/u9009 /u62e9/u8981/u7f16/u8f91/u7684/u8bb0/u5f55/uff01,直接使用props.getProperty  可以直接输出转码后的内容。

//如果代码这样写

 Properties props=new Properties();
 props.load(BugFactory.class.getResourceAsStream("ApplicationResources.properties"));
 String name = props.getPropery("common.batchEdit.message");
 此时 ApplicationResources.properties应该与该类放在同一个目录.

还有一种方法:

ResourceBundle res = ResourceBundle.getBundle("yy.properties");
 String name = res.getString("yyyy");
 yy.properties应放在/WEB-INF/classes目录

如果你这个Bean打包的话,就把这个文件放在包内。

我一般是这样写的
Properties prop = new Properties();
try
{
 InputStream is = getClass().getResourceAsStream("db.properties");
 prop.load(is);
 if(is!=null)
    is.close();
}
另外一些说明:
props.load(new FileInputStream("db.properties")); 是读取当前目录的db.properties文件
getClass.getResourceAsStream("db.properties"); 是读取当前类所在位置一起的db.properties文件
getClass.getResourceAsStream("/db.properties"); 是读取ClassPath的根的db.properties文件,注意ClassPath如果是多个路径或者jar文件的,只要在任意一个路径目录下或者 jar文件里的根下都可以,如果存在于多个路径下的话,按照ClassPath中的先后顺序,使用先找到的,其余忽略

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29063131/viewspace-768134/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-07-22

  • 博文量
    39
  • 访问量
    99464