首页 > 代码库 > Properties类:属性列表,集合
Properties类:属性列表,集合
Properties类的概述(集合)
1. Properties类的特点:
1) 属性列表(键和值)中每个键及其对应值都是一个字符串
2) 可保存在流中或从流中加载,可以对IO流进行操作。把属性集合存到文件中,或从文件中读取所有的属性。
2. 属性文件的格式要求:
属性文件中不能直接汉字,所有的汉字会转成Unicode编码
1) 格式:属性名=属性值
2) 每个属性占一行
3) 注释:以#号开头的行是注释行
4) 属性文件中所有空行被忽略
5) 扩展名:properties
常用的方法
1. 构造方法:使用无参的构造方法 new Properties(),创建了一个空的集合。
2. 设置/得到属性值:
不建议使用从Map中继承下来的put()/get()方法添加/获得元素,因为put()可能添加非字符串类型的数据。
● 添加属性值:setProperty(属性名, 属性值)
● 得到属性值:String getProperty("属性名"),如果没有属性,则返回null
String getProperty("属性名", "默认值") 始终保证可以得到一个非空的值
遍历的方法,得到所有的属性名stringPropertyNames()
将集合中内容存储到文件
1. 保存到IO流:(字节流,字符流)
store(OutputStream 字节输出流, String 注释)
store(Writer 字符输出流, String 注释)View Code@Test public void testPropertiesSave() throws IOException { //创建属性集 Properties prop = new Properties(); prop.setProperty("name", "Jack"); prop.setProperty("age", "18"); prop.setProperty("gender", "male"); //写到FileOutputStream字节输出流 FileOutputStream fos = new FileOutputStream("d:/emp.properties"); prop.store(fos, "I am a employee");//写到io流中 fos.close(); }2. 读取文件中的数据,并保存到属性集合
1. 从流中加载:
load(InputStream 字节输入流)
load(Reader 字符输入流)
View Code@Test public void testLoad() throws IOException { //创建一个空的集合 Properties properties = new Properties(); //创建一个文件输入流 FileInputStream fis = new FileInputStream("d:/emp.properties"); properties.load(fis); System.out.println(properties); //关闭流 fis.close(); }
Properties类:属性列表,集合