属性集
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..存储键值对的文件中,键与值默认都是字符串不需要加“ “ ” ”