首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java properties配置文件读取模式及比较

2013-07-09 
java properties配置文件读取方式及比较为了便于访问,配置文件一般放置在工作空间里。有以下几种读取方式:1

java properties配置文件读取方式及比较
为了便于访问,配置文件一般放置在工作空间里。
有以下几种读取方式:
1.使用java.util.Properties类的load()方法

InputStream in = lnew BufferedInputStream(new FileInputStream(name));Properties p = new Properties();p.load(in);

此时文件的路径可以采用相对路径或者绝对路径,这种方式相当于直接读取文件系统,如果程序执行位置有变动,就需要修改程序。

2.使用java.util.ResourceBundle类的getBundle()方法
ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());

3.使用java.util.PropertyResourceBundle类的构造函数
InputStream in = new BufferedInputStream(new FileInputStream(name));ResourceBundle rb = new PropertyResourceBundle(in);

4.使用class变量的getResourceAsStream()方法
InputStream in = JProperties.class.getResourceAsStream(name);Properties p = new Properties();p.load(in);

用class方式,name路径可以是'/‘开头,此时是相对于classpath的绝对路径,若不以'/‘开头,则是相对于类对象的相对路径。

5.使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);Properties p = new Properties();p.load(in);

用classloder是相对于class path的绝对路径。

区别class和classLoder:
  com.explorers.Test.class.getResourceAsStream("abc.jpg")
= com.explorers.Test.class.getResourceAsStream("/com/explorers/abc.jpg")
= ClassLoader.getResourceAsStream("com/explorers/abc.jpg")

使用Class和ClassLoader方法的话,当源文件或者配置文件的位置改变时,不需要修改源码,只需要改变一下class path即可。

6.使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法
InputStream in = ClassLoader.getSystemResourceAsStream(name);Properties p = new Properties();p.load(in);


热点排行