我想知道Properties.store()方法的原理,是重写写全部内容,还是找到需要改的内容,然后单独修改
在毕老师的day20中,有一个练习是从配置文件“properties.txt”读取到集合中,好操作数据
在看视频之前,我自己做了一遍,我是用HashMap做的。
我的代码:- public static void writeProperties()throws IOException{
- HashMap<String,String> hm=new HashMap<String,String>();
- //BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("properties.txt")));
- BufferedWriter bw=new BufferedWriter(new FileWriter("properties.txt"));
- hm.put("color", "black");
- hm.put("background", "black");
- hm.put("size", "111");
- Set<Map.Entry<String, String>> set=hm.entrySet();
- for(Map.Entry<String, String> me:set){
- bw.write(me.getKey()+"="+me.getValue());
- bw.newLine();
- bw.flush();
- }
- }
复制代码 上面的代码是将properties.txt删除,然后重新建一个,并添加所有数据
下面是毕老师的代码- public static void loadDemo()throws IOException{
- Properties pro=new Properties();
- FileInputStream fis=new FileInputStream("properties.txt");
- pro.load(fis);
- pro.setProperty("size", "14");
- FileOutputStream fos=new FileOutputStream("properties.txt");
- pro.store(fos,"haha");
- }
复制代码 我就是知道store有没有重新建一个文件呢?有没有删除全部数据,然后添加全部数据?还是只修改了部分数据 |