码迷,mamicode.com
首页 > 编程语言 > 详细

Java的Properties类和读取.properties文件

时间:2015-10-12 14:21:26      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

一、.properties文件的作用

  Properties属性文件在JAVA应用程序中是经常可以看得见的,也是特别重要的一类文件。它用来配置应用程序的一些信息,不过这些信息一般都是比较少的数据,没有必要使用数据库文件来保存,而使用一般的文本文件来保存,如果是通过File直接保存的话,可能在存储和读取上都不是很方便,但如果保存为Properties文件就不一样了,属性文件都有键值对应的,在JAVA的包中,有提供专门的操作属性文件的类。这个类就是 java.uitl.Properties类,由于Properties类是一个集合类,所以,Properties会将属性以集合的方式读写。(配置文件有两种:XML和.properties文件)

  在Java中,.properties文件的内容格式是"键-值"的格式,文本的注释信息可以用"#"来注释。

二、Java Properties类

Properties类继承自Hashtable,如下:

技术分享

 

它提供的主要方法:

  1. getProperty(String key):用指定的键在此属性列表中搜索属性。也就是通过key得到对应的value
  2. load(InputStream inStream):通过对指定文件进行装载来获得(键-值)对,以供getProperty()调用。
  3. setProperty(String key,String value):调用基类的put方法来设置键-值对
  4. store(OutPutStream out,String comments):将键-值对按照文件的格式写入到指定文件中
  5. clear():清除所有转载的键-值对

三、读取.properties文件

db.properties

url = "jdbc:mysql://localhost:3306/test"
username="root"
name="root"

第一种:使用ServletContext的getResourceAsStream方法:返回资源文件的读取字节流

 

public  void test1() throws IOException{
        InputStream in=this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");
        Properties props=new Properties();
        props.load(in);
        String url=props.getProperty("url");
        String username=props.getProperty("username");
        String password=props.getProperty("password");
        
        System.out.println(url);
        System.out.println(username);
        System.out.println(password);
    }

 

第二种:使用ServletContext的getRealPath方法,获得文件的完整绝对路径path,再使用字节流读取path下的文件

 

public void test2() throws IOException{
        String path =this.getServletContext().getRealPath("/WEB-INF/classes/db.properties");
        FileInputStream in=new FileInputStream(path);
     ////相比第一种方法的好处是:除了可以获取数据,还可以获取资源文件的名称
        String filename=path.substring(path.lastIndexOf("\\")+1);
        System.out.println(filename);
        Properties props=new Properties();
        props.load(in);
        String url=props.getProperty("url");
        String username=props.getProperty("username");
        String password=props.getProperty("password");
        System.out.println(url);
        System.out.println(username);
        System.out.println(password);
    }

 

Java的Properties类和读取.properties文件

标签:

原文地址:http://www.cnblogs.com/lyjs/p/4871243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!