使用ResourceBundle读取配置文件



在Java语言中,使用一种以.properties为扩展名的文本文件作为资源文件,该类型的文件的内容格式为类似: 

1
2
#注释语句
some_key=some_value



形式。以#开头的行作为注释行,ResourceBundle类处理时会加以忽略;其余的行可以以 key名=value值 的形式加以记述。这样的话,一般我们将数据库的配置文件以这样的形式展现。 

Java的ResourceBundle类可以对这种形式的文件加以处理。 

ResourceBundle类的使用方法也非常简单。我们使用一个例子来说明。 

假如我现在有一个数据库的配置文件,我将它写为资源文件的样式,则为:

1
2
3
4
5
#数据库配置信息
DRIVER=com.mysql.jdbc.Driver
URL=jdbc:mysql://localhost:3306/cns
user=test
password=test



接下来,我们使用ResourceBundle类处理:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package Forum;
 
import java.util.*;
 
public class RedProFile {
	 public static void main(String[] a){
	String resourceFile = "Forum.CNS";    
//	        创建一个默认的ResourceBundle对象   
//	        ResourceBundle会查找包Forum下的CNS.properties的文件   
//	        Forum是资源的包名,它跟普通java类的命名规则完全一样:   
//	        - 区分大小写   
//	        - 扩展名 .properties 省略。就像对于类可以省略掉 .class扩展名一样   
//	        - 资源文件必须位于指定包的路径之下(位于所指定的classpath中)   
//            假如你是在非Web项目中使用,则一定要写资源文件的路径,也就是包路径必须存在。
//            如果是Web项目,不写包路径可以,此时将资源文件放在WEB-INFclasses目录下就可以。
	ResourceBundle rb = ResourceBundle.getBundle(resourceFile);
	System.out.println(rb.getString("DRIVER"));//这里是分大小写的,嘿嘿输出值为jdbc:mysql://localhost:3306/cns
	 }
}



这样就简单多了,呵呵 

这是我转来的稍加修改的提取最简单的部分的,非常感谢原作者。原文见【http://www.lifevv.com/java/doc/20080205000526940.html】 

使用ResourceBundle类中的getString进行简单读取

,要想实现替换功能,需要使用MessageFormat类中的

public static String format(String pattern,Object... arguments)方法,用时自行百度

原文地址:https://www.cnblogs.com/zqr99/p/7522341.html