Properties

属性集

properties extends HashTable<k,v> implements Map<k,v>

表示一个持久的属性集,可以保存在流中或从流中加载,该集合是唯一 一个与IO流相结合的集合。

可以使用该集合中的方法store,把集合中的临时数据持久写入硬盘中保存,可用该集合的load方法,把硬盘中的文件(键值对)读取到集合中保存。

属性列表中的键和值都是字符串类型,其中的一些特有方法

1.Object setProoperty(String key,String value)

相当于Map中的put方法

2.String getProoperty(String key)

通过key找到value,相当于Map中的get(key)方法

3.set<String> StringProopertyNames()

返回此方法中的键值,将其保存在一个set集合,相当于Map中的keySet方法

 

Sore方法

把集合中的临时数据写入到硬盘中保存

void store (OutputStream out ,String comment)

void store (Writer write,String comment)

参数:out 字节输出流(不适用中文)

write 字符输出路(可以使用中文)

comment用来解释说明是做什么的

使用步骤:

1.创建properties集合对象,添加数据

2.创建字节/字符输出流,构造方法中传递输出目的地

3.调用store方法把集合中的临时数据写入到硬盘中保存

4.释放资源

Load方法

把硬盘中保存的数据读取到集合中使用

void load (InputStream in)

void load (Reader reader)

使用步骤:

1.创建properties集合对象

2.调用load方法,把硬盘中保存的数据读取到集合中使用

3.遍历集合(使用)

4.释放资源

代码练习

public static void main(String[] args) throws IOException {
    FileInputStream fis = new FileInputStream("Month" + File.separator + 
                            "src" + File.separator + "LearnIO" + File.separator + "a.txt"); Properties pro = new Properties(); pro.load(fis); fis.close(); Set<String> setpro = pro.stringPropertyNames(); Iterator var4 = setpro.iterator(); while(var4.hasNext()) { String pros = (String)var4.next(); String str = pro.getProperty(pros); System.out.println(pros + "=" + str); }

注意事项:

1.存储键值对的文件中,键与值默认的连接符可以使用“=” “ ”,以及及其他符号

2..存储键值对的文件中,使用“#”符号注释的键值对不会被读取

3..存储键值对的文件中,键与值默认都是字符串不需要加“ “ ” ”

posted @ 2020-11-11 20:22  素色学习  阅读(166)  评论(0编辑  收藏  举报