java读取配置文件

      一般来说,首页的内容比较多,但内容大多也有重复的地方,比如说某几块内容都是文章,只是文章类别不同,或者说某几块都是商品,只是商品的分类不同,那么我们在后台取数据时,都需要根据类别ID来取值的。通常的做法都是写死ID,但写死又分为三种情况:

      1、前台写死ID,通过<jsp:include page="xx.do?id=xx">,可以进行动态的包含内容。

      2、可在service层写一个id的数组,String[] ids = {“”,"",""};用ids数组的下标来获得id值,这样也可以实现,如果数据库的ID值发生改变,只需要改变service层的ID数组就行。

      3、用配置文件(这个配置文件以.properties结尾)。将ID值写在配置文件中,表示的方法就和map一样,key=value,这样就OK。

      下面我要说的是第三种方案,个人觉得第三种方案比第二种方案好,因为第二种方案改数据时,去找的话,有点不太方便。 

package com.test.dao;

import java.util.MissingResourceException;
import java.util.ResourceBundle;

/**
 * 获取配置资源文件 [公共参数] 信息
 * @author Henry_zp
 */
public class CommonParam {
    private String propertyFileName;
    private ResourceBundle resourceBundle;
    public CommonParam() {
        propertyFileName = "com/test/dao/SysConfig";
        resourceBundle = ResourceBundle.getBundle(propertyFileName);
    }
    public String getString(String key) {
        if (key == null || key.equals("") || key.equals("null")) {
            return "";
        }
        String result = "";
        try {
            result = resourceBundle.getString(key);
        } catch (MissingResourceException e) {
            e.printStackTrace();
        }
        return result;
    }
}

   

 

       这里配置文件的地址一定要写对,不然就会报错。SysConfig.properties里面的内容是:

#测试一
NewsId=002

       #表示注释,最后这个文件要以UTF-8的编码来保存。

       测试代码如下:

package com.test.dao;

public class Test {
    public static void main(String[] args) {
	   CommonParam test = new CommonParam();
	   System.out.println(test.getString("NewsId"));
}
}

 

 

         输出的结果为:002。

 

 

posted on 2010-12-05 15:12  大空翼  阅读(19011)  评论(1编辑  收藏  举报

导航