JavaSE|Properties 梦里梦外; 2022-04-10 05:20 117阅读 0赞 ### JavaSE|Properties ### * Properties作为Map集合的使用 * Properties的特殊功能 * Properties和IO流的结合使用 public class Properties extends Hashtable<Object,Object> Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。 # Properties作为Map集合的使用 # Properties是Hashtable的子类,说明是一个Map集合。 其作为Map集合的使用如下: Properties prop = new Properties(); prop.put("it002", "hello"); prop.put("it001", "world"); prop.put("itoo3", "java"); Set<Object> set = prop.keySet(); for(Object key : set){ Object value = prop.get(key); System.out.println(key + "---" + value); } 构造方法: 1. Properties() 创建一个无默认值的空属性列表。 2. Properties(Properties defaults) 创建一个带有指定默认值的空属性列表。 注意:Properties不是泛型类,使用时不能加泛型。 # Properties的特殊功能 # 1. public Object setProperty(String key,String value) 2. public String getProperty(String key) 3. public Set< String > stringPropertyNames() public class PropertiesDemo2 { public static void main(String[] args) { // 创建集合对象 Properties prop = new Properties(); // 添加元素 prop.setProperty("张三", "30"); prop.setProperty("李四", "40"); prop.setProperty("王五", "50"); // public Set<String> stringPropertyNames():获取所有的键的集合 Set<String> set = prop.stringPropertyNames(); for (String key : set) { String value = prop.getProperty(key); prop.setProperty("张三", "30"); } } } /* * class Hashtalbe<K,V> { public V put(K key,V value) { ... } } * * class Properties extends Hashtable { public V setProperty(String key,String * value) { return put(key,value); } } */ # Properties和IO流的结合使用 # * 把键值对形式的文本文件内容加载到集合中 **void load(InputStream inStream)** **void load(Reader reader)** * 把集合中的数据存储到文本文件中 **void store(OutputStream out, String comments)** **void store(Writer writer, String comments)** public class PropertiesDemo3 { public static void main(String[] args) throws IOException { //myLoad(); myStore(); } private static void myStore() throws IOException { Properties prop = new Properties(); prop.setProperty("林青霞", "27"); prop.setProperty("武鑫", "57"); prop.setProperty("刘晓曲", "18"); Writer w = new FileWriter("name.txt"); prop.store(w, "helloworld"); w.close(); } private static void myLoad() throws IOException { Properties prop = new Properties(); // public void load(Reader reader):把文件中的数据读取到集合中 // 注意:这个文件的数据必须是键值对形式 Reader r = new FileReader("prop.txt"); prop.load(r); r.close(); System.out.println("prop:" + prop); } }
还没有评论,来说两句吧...