一、Properties类概述 前面讲Map接口的一个实现类Hashtable的时候,说过虽然Hashtable不怎么用了,但是他的子类Properties依然还活跃在开发舞台。 特点: 1. Hashtable的子类,是一个线程安全的键值对集合。map集合中的方法都可以使用。 2. 该集合没有泛型,键值都是字符串。 3. 可以与IO结合起来,完成持久化存储。 这个类在以后的开发中很重要。今天只讲基本用法。 二、和流技术相结合的方法 1. setProperty(String key, String value) //存储键值对。Properties类继承了Map,所以是有put()方法的,但是我们不直接用。 而是用setProperty()方法。实际上setProperty()方法就是调用了put()方法。【例1】 2. String getProperty(String key) //通过键获取值。同样我们不使用get()方法,而是使用它自己的这个方法。【例1】 3. Set<String> stringPropertyNames() //获取键的集合。同样我们不使用keySet()方法,而是使用它自己的方法。【例2】 //不过这个方法不用记,因为使用的时候用不到遍历。 4. void load(InputStream in) //把文件中的键值对加载到集合中。流对象会读取文件中的键值对,然后放到集合中。 可以传递任意的字节输入流。【例3】 5. void load(Reader r) //也可以传递任意的字符输入流。 6. void store(OutputStream out, String comments) //把集合中键值对存储到文件中。后面的参数作为注释,一般写""。【例4】 7. void store(Writer w) 例1:
例2:
例3:首先创建pro.properites文件(文件名不重要,但是习惯这么写,见名知意)。 文件内容很严格,必须是键值对。注意等号前后不要有空格,最后不要有分号。可以使用井号作为注释。 //pro.properties
//Test.java
例4:
运行结果,查看pro.properties:
可以看到文件的内容是pro集合的内容,而原有的文件内容都没有了。所以要想改变内容,需要先load,然后修改,再store。仅仅store一条修改的键值对,会导致其他键值对都清掉。 |
IO(8)----Properties类
版权声明:未经同意,严禁转载 https://blog.csdn.net/pengchengliu/article/details/82896986
猜你喜欢
转载自blog.csdn.net/pengchengliu/article/details/82896986
今日推荐
周排行