Properties读写属性文件

来源于本质:

  Properties类是Hashtable类的子类,他可以把Map对象和属性文件(Windows操作平台上的ini文件)关联起来,从而可以把Map对象中的key-value对写入属性文件中,也可以把属性文件中的“属性名=属性值”加载到Map对象中,由于属性文件里的属性名、属性值只能是字符串类型,所以Properties里的key-value都是字符串类型,所以properties里的key、value都是字符串类型

方法:

  • String getProperty(String key):获取value---Map中的get(Object key)方法
  • Object setProperty(String key,String value):类似于put(key,value)方法
  • void load(inputStream inStream):
      从属性文件中加载key-value对,把加载到的key-value对追加到Properties里,
  • void store(OutputStream out,String comments):
      将Properties中的key-value对输出到指定的属性文件中,comments 对应的是属性文件的第一句话,目前没有看到有什么大的用途。

使用:

  比如:在使用JDBC操作数据库的时候我们可以把一开始繁琐的驱动文件,url、账户、密码等存放到一个ini属性文件中,我们封装好工具类,每次执行只要初始化一下,直接从属性文件读取到对象中,对JDBC初始化直接调用对象即可。代码如下:

public static void InitProperty() {
        props=new Properties();
        try {
            props.load(new FileInputStream("E:\\Eclipse\\eclipse.workplace\\测试\\src\\test.ini"));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        driver=props.getProperty("driver");
        url=props.getProperty("url");
        user=props.getProperty("user");
        passWord=props.getProperty("passWord");
    }
    public static void iniWrite() {
        props=new Properties();
        props.setProperty("driver","com.mysql.cj.jdbc.Driver");
        props.setProperty("url","jdbc:mysql://localhost:3306/mydb1?useSSL=true&serverTimezone=UTC");
        props.setProperty("user", "root");
        props.setProperty("passWord", "qinyu888");
        try {
            props.store(new FileOutputStream("E:\\Eclipse\\eclipse.workplace\\测试\\src\\test.ini"), "");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

总结

  关于该Properties类的使用,将来遇到比较好的应用会不断更新,同时也希望大家指出!!

你可能感兴趣的:(Properties读写属性文件)