浅谈java Properties类的使用基础

 更新时间:2018年01月03日 08:44:06   作者:骏马金龙  
下面小编就为大家分享一篇浅谈java Properties类的使用基础,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

Properties类继承自HashTable,通常和io流结合使用。它最突出的特点是将key/value作为配置属性写入到配置文件中以实现配置持久化,或从配置文件中读取这些属性。它的这些配置文件的规范后缀名为".properties"。表示了一个持久的属性集。

需要注意几点:

无论是key还是value,都必须是String数据类型。

虽然继承自HashTable,但它却没有使用泛型。

虽然可以使用HashTable的put方法,但不建议使用它,而是应该使用setProperty()方法。

多个线程可以共享单个Properties对象而无需进行外部同步。即线程同步。

如果想将Properties集合中的属性集写入到配置文件中,使用store()方法;如果想从".properties"配置文件中读取属性,可以使用load()方法。

以下是Properties类的常用方法:

setProperty(String k,String v):调用hashtable的put方法,向properties集合中添加key/value,返回值为key对应的旧值,如没有旧值则返回Null。注意k和v都是String类型。

getProperty(String k):获取properties集合中key对应的value。

store(OutputStream o,String comment):将properties属性集合写入到输出流o中,注意,注释comment必不可少。 - load(InputStream i):从.properties配置文件中按照字节读取其中的属性。

load(Reader r):从.properties配置文件中按照字符读取其中的属性。

stringPropertyNames():返回properties集合中由key部分组成的Set集合。

以下是向properties集合中增、取、遍历key/value以及和IO流结合使用的简单示例。

import java.util.*;
import java.io.*;
public class Prop {
 public static void main(String[] args) throws IOException {
 Properties prop = new Properties();
 //向properties集合prop中存储key/value
 prop.setProperty("filename","a.avi");
 prop.setProperty("size","5M");
 //prop集合存储key/value的格式
 System.out.println(prop);
 //从prop中取出单个key/value
 prop.getProperty("filename");
 //遍历prop集合
 Set<String> keys = prop.stringPropertyNames();
 for (String key : keys) {
  String value = prop.getProperty(key);
  System.out.println(key+"="+value);
 }
 //properties集合和IO输出流集合:将prop集合中的属性集写入到文件中实现持久化
 FileOutputStream fos = new FileOutputStream("d:/temp/my.properties");
 prop.store(fos,"store test");
 //properties集合和IO输出流集合:从properties文件中读取属性集到prop1集合中
 //FileInputStream fis = new FileInputStream("d:/temp/my.properties");
 FileReader fr = new FileReader("d:/temp/my.properties");
 Properties prop1 = new Properties(); //Now it's a Null properties
 prop1.load(fr);
 System.out.println("new prop:"+prop1);
 fos.close();
 fr.close();
 }
}

以上这篇浅谈java Properties类的使用基础就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java中的值传递和引用传递实例介绍

    Java中的值传递和引用传递实例介绍

    java 中没有引用传递,都是值传递的,可以通过传递副本修改对象的,副本交换,并不影响原引用
    2013-09-09
  • Java排序算法总结之插入排序

    Java排序算法总结之插入排序

    这篇文章主要介绍了Java排序算法总结之插入排序,较为详细的分析了插入排序的原理与java实现技巧,需要的朋友可以参考下
    2015-05-05
  • Java中Collection、List、Set、Map之间的关系总结

    Java中Collection、List、Set、Map之间的关系总结

    今天小编就为大家分享一篇关于Java中Collection、List、Set、Map之间的关系总结,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Springboot+WebSocket+Netty实现在线聊天/群聊系统

    Springboot+WebSocket+Netty实现在线聊天/群聊系统

    这篇文章主要实现在好友添加、建群、聊天对话、群聊功能,使用Java作为后端语言进行支持,界面友好,开发简单,文章中有详细的代码示例供大家参考,需要的朋友可以参考下
    2023-08-08
  • Java内存管理垃圾回收基础详解

    Java内存管理垃圾回收基础详解

    这篇文章主要为大家介绍了Java内存管理垃圾回收基础详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 三种SpringBoot中实现异步调用的方法总结

    三种SpringBoot中实现异步调用的方法总结

    Spring Boot 提供了多种方式来实现异步任务,这篇文章主要为大家介绍了常用的三种实现方式,文中的示例代码讲解详细,需要的可以参考一下
    2023-05-05
  • 三种Java自定义DNS解析器方法与实践

    三种Java自定义DNS解析器方法与实践

    这篇文章主要分享三种Java自定义DNS解析器方法与实践,对于高性能的测试机(54C96G * 3)而言,可任意通过自定义Java DNS解析器来实现接口请求,下文内容的实现,需要的小伙伴可以参考一下
    2022-02-02
  • Struts2开发环境搭建 附简单登录功能实例

    Struts2开发环境搭建 附简单登录功能实例

    这篇文章主要介绍了Struts2开发环境搭建,为大家分享一个简单登录功能实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • spring boot对敏感信息进行加解密的项目实现

    spring boot对敏感信息进行加解密的项目实现

    本文主要介绍了spring boot对敏感信息进行加解密的项目实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Java中的类加载器_动力节点Java学院整理

    Java中的类加载器_动力节点Java学院整理

    这篇文章主要为大家详细介绍了Java中类加载器的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06

最新评论