今天看到一段代码:resources.getString(keyName),愣了好久,没想出个所以然来!展开漫长的搜索之路!
1. 哦,明白了,上面的是用来读取properties文件定义key所对应的value值。
2.那么properties文件有何作用? 如何使用呢?
A:和ini文件一样,他们都是属性文件,也就是用来配置应用程序的一些信息,不过这些信息一般都是比较少的数据,没有必要使用数据库文件来保存,而使用一般的文本文件来保存,格式和存取不是很方便,属性文件都有键值对应的,学JAVA的人都知道map,在JAVA的包中,有提供专门的操作属性文件的类。
properties这种文件以key=value格式存储内容,java中代码中可以使用Properties类来读取这个文件 ,
String value=p.getProperty(key);
就能得到对应的数据 。
B: 一般这个文件作为一些参数的存储,代码就可以灵活一点 ;
用于适应多语言环境,随着系统的语言环境的变化,读取不同的属性文件,显示对应语言的UI
当配置文件用,在里面读取一些关于路径方面的设置(如ant中的build.properties)存放一组配置.(类似win下ini, 还要简单些, 因为没有section) 由于难以表达层次, 复杂点可以用xml做配置.
总结:
通俗点讲就相当于定义一个变量,在这个文件里面定义这些变量的值,在程序里面可以调用这些变量,好处就是,如果程序中的参数值需要变动,直接来改这个.properties文件就可以了,不用在去修改源代码。有利于你以后的代码重构,维护方便。
3.Java中读取properties文件的简单方法
在web工程中,我们在src目录下会配置一些properties文件,比如log.properties或者conf.properties。我们怎么去读取这些文件了?!
答:java中读取配置文件的信息可以采用Properties这个类,但是当遇到国际化问题的时候还是不好解决,因而还是最好使用ResourceBundle这个类,
private static ResourceBundle resourceBundle = null;
resourceBundle = ResourceBundle.getBundle("CONFIG_FILE");
4.
ResourceBundle 中文api
http://www.jar114.com/jdk6/zh_CN/api/java/util/ResourceBundle.html
ResourceBundle 源码
http://kickjava.com/src/java/util/ResourceBundle.java.htm