package com.ydq.read.propertyfile;
import java.io.InputStream;
import java.util.MissingResourceException;
import java.util.Properties;
import java.util.ResourceBundle;
/**
* 读取配置文件中的参数
*
* 一般情况下,首页的内容是比较比较多,但内容结构大多也有本同的地方,比方说某几块内容都是展示的文章,只是文章来源的类别不同,或者说某几个版面都展示商品,
* 只是商品所属分类不同罢了,那么我们在后台取数据时,都需要根据类别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。
*
* 下面我要说的是第三种方案,个人觉得第三种方案比第二种方案好,因为第二种方案改数据时,去找的话,有点不太方便。
*
* @author 姚大庆
*
*/
public class CommonParam {
private String propertyFileName;
private ResourceBundle resourceBundle;
public CommonParam() {
propertyFileName = "ydqfile";
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);// 根据key获取value
} catch (MissingResourceException e) {
e.printStackTrace();
}
return result;
}
public static void main(String[] args) {
/*
* 方法一:直接通过java.util.ResourceBundle读取配置文件
* CommonParam test = new CommonParam();
* System.out.println(test.getString("ydqa"));
* System.out.println(test.getString("ydqb"));
* System.out.println(test.getString("ydqc"));
*/
/*
* 方法二:通过java中java.util.Properties对象读取配置文件
* */
CommonParam test = new CommonParam();
System.out.println(test.getPara("ydqfile.properties"));
}
/**
* 学习JAVA中java.util.Properties对象读取配置文件
* @param fileName 配置文件名
* @return 根据key返回value
*/
public String getPara(String fileName) {
Properties prop = new Properties();
try {
InputStream is = this.getClass().getClassLoader().getResourceAsStream(fileName);
prop.load(is);
if (is != null)
is.close();
} catch (Exception e) {
System.out.println(e + " file " + fileName + " not found");
}
return prop.getProperty("ydqb");
}
}
读取配置文件中的参数(如何设计JSP页面读取配置文件中参数)
最新推荐文章于 2019-06-06 19:46:06 发布