Java学习之IO(Proerties)
Map
|--Hashtable
|--Propreties
特点:
1、集合中的键和值都是字符串类型
2、集合数据可以保存到流中,或从流中获取
用于操作以键值对形式存在的配置文件
特有方法
String getProperty(String key)
Object setProperty(String key, String value)
Set<String> stringPropertyNames()
void list(PrintStream out);//将此属性列表打印到指定的输出流。
void store(OutputStream out, String comments);//持久化,存储到流中
void store(Writer writer, String comments);//
void load(InputStream inStream);//流中获取数据
void load(Reader reader);
代码实例:
1 public static void main(String[] args) throws IOException { 2 //propertiesDemo(); 3 propertiesStream(); 4 } 5 6 private static void propertiesStream() throws IOException { 7 File file=new File("info.txt"); 8 //判断文件是否存在 9 if(!file.exists()) { 10 file.createNewFile(); 11 } 12 // 创建集合 13 Properties p = new Properties(); 14 //验证Properties集合 15 p.list(System.out); 16 Reader reader=new FileReader(file); 17 p.load(reader); 18 //验证Properties集合 19 p.list(System.out); 20 //添加元素 21 p.setProperty("zhao", "6"); 22 23 //保存 24 p.store(new FileOutputStream(file), "info"); 25 } 26 27 public static void propertiesDemo() throws FileNotFoundException, IOException { 28 // 创建集合 29 Properties p = new Properties(); 30 // 存储元素 31 p.setProperty("zhang", "3"); 32 p.setProperty("li", "4"); 33 p.setProperty("wang", "5"); 34 p.setProperty("zhou", "6"); 35 // 修改元素 36 p.setProperty("zhou", "7"); 37 // 取出元素 38 Set<String> names = p.stringPropertyNames(); 39 40 for (String name : names) { 41 String value = p.getProperty(name); 42 System.out.println(name + ":" + value); 43 } 44 45 p.store(new FileOutputStream("info.txt"), "info"); 46 }