java如何读取配置文件

来源:互联网 发布:网页游戏源码网 编辑:程序博客网 时间:2024/06/05 05:13

方式一

采用ResorceBundle类读取.properties配置文件获取文件信息。此种方式的优点是:可以以完全限定类名的方式加载资源后,直接的读取出来,且可以在非Web应用中读取资源文件。缺点:只能加载类classes下面的资源文件且只能读取.properties文件。若资源文件的编码是utf-8等其它的非is0-8859-1的编码时,需要将读取出来的value先进行getBytes(“iso-8859-1”)编码得到原文,而newString(bs[],”utf-8”)进行解码。

1、通过ResourceBundle.getBundle()静态方法来获取

ResourceBundle是一个抽象类这种方式来获取properties属性文件不需要加.properties后缀名,只需要文件名即可。

ResourceBundle resource = ResourceBundle.getBundle("com/mmq/test");//test为属性文件名,放在包com.mmq下,如果是放在src下,直接用test即可    String key = resource.getString("username");  


2、通过从InputStream中获取

ResourceBundle resource = new PropertyResourceBundle(inStream); 

获取InputStream的方法如下所示:

(1)通过当前类加载器的getResourceAsStream方法获取

InputStream inputStream = Test1.class.getClassLoader().getResourceAsStream("info.properties");

      (2)从文件中获取

       InputStream inStream = new FileInputStream(new File("filePath"));  

(3)也是通过类加载器来获取,和第一种一样

        InputStream in = ClassLoader.getSystemResourceAsStream("filePath"); 

(4)在servlet中,还可以通过context来获取InputStream

    InputStream in = context.getResourceAsStream("filePath");  

(5)通过url来获取

URL url = new URL("path");  InputStream inStream = url.openStream(); 

注意:ClassLoader()和URLClassLoader()区别:ClassLoader()只能查找src目录下的文件,而URLClassLoader()则能查找任意目录下的文件。

方式二

通过jdk提供的java.util.Properties类,此类继承自java.util.HashTable,即实现了Map接口,所以,可使用相应的方法来操作属性文件,但不建议使用像put、putAll这 两个方法,因为put方法不仅允许存入String类型的value,还可以存入Object类型的。因此java.util.Properties类提 供了getProperty()和setProperty()方法来操作属性文件,同时使用store或save(已过时)来保存属性值(把属性值写 入.properties配置文件)。在使用之前,还需要加载属性文件,它提供了两个方法:load和loadFromXML

load有两个方法的重载:load(InputStream inStream)、load(Reader reader),所以,可根据不同的方式来加载属性文件。

获取InputStream的方法和上面一样,不再赘述。    

 读取方法如下:

Properties prop = new Properties();    prop.load(inStream);    String key = prop.getProperty("username");  

相关文章:http://www.cnblogs.com/s3189454231s/p/5626557.html

http://blog.csdn.net/stypace/article/details/38414871

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 烫完睫毛太卷了怎么办 烫睫毛太卷了怎么办 用微信充话费充错了怎么办 微信给空号充话费了怎么办 微信充话费充错号码是空号怎么办 淘宝充流量不到账怎么办 微信退货不退款怎么办 京东话费交错号怎么办? 微信缴费错了怎么办 给手机充话费被退款怎么办 买到假货淘宝商家已关店怎么办 手机刷错系统了怎么办 苹果手机成砖了怎么办 苹果6p变砖头怎么办 苹果刷成石头了怎么办 苹果手机更新成了砖头怎么办 京东售后好慢怎么办 京东商品超过售后期怎么办 京东过了售后期怎么办 京东售后不处理怎么办 京东售后不让退货怎么办 天猫盒子遥控器丢了怎么办 淘宝店铺的客服不理人怎么办 淘宝假货下架了怎么办 淘宝不让发布本地生活服务了怎么办 淘宝删除差评后店家不返现怎么办 天猫店家迟迟不发货怎么办 淘宝下单后店家说缺货怎么办 用淘宝把话费冲到空号上怎么办 d速快递没有网点怎么办 京东买的货没收到怎么办 淘宝物流显示已揽件就是不动怎么办 淘宝查不到物流信息怎么办 快递物流信息更新错怎么办 淘宝上查不到物流怎么办 微信买的东西不给退怎么办 微信购物已收货怎么办 微信买东西不退怎么办 银行经营贷款资金回流怎么办 淘宝有运费险换货怎么办 淘宝有运费险的换货怎么办