黑马程序员技术交流社区

标题: Properties的一个细节问题 [打印本页]

作者: 天涯追梦    时间: 2014-4-30 12:45
标题: Properties的一个细节问题
本帖最后由 天涯追梦 于 2014-4-30 13:00 编辑

用properties可以把集合持久化存储到硬盘上,以下代码完成此功能
  1. package mytest;

  2. import java.io.File;
  3. import java.io.FileWriter;
  4. import java.io.IOException;
  5. import java.util.Properties;

  6. public class ProTest {

  7.         public static void main(String[] args) throws IOException {
  8.                 File file = new File("e:\\pro.txt");               
  9.                 FileWriter fw = new FileWriter(file);
  10.                 Properties pro = new Properties();
  11.                 pro.setProperty("张三", "20");
  12.                 pro.setProperty("李四", "22");
  13.                 pro.setProperty("王五", "33");
  14.                 pro.store(fw, "heihie");
  15.                 pro.list(System.out);
  16.         
  17.                
  18.         }

  19. }
复制代码
上述代码运行结果:
-- listing properties --
王五=33
张三=20
李四=22

如果想把张三改为66岁,可以用以下代码:package mytest;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;

public class Prochange {

        public static void main(String[] args) throws IOException {
                // TODO Auto-generated method stub
                File file = new File("e:\\pro.txt");
                FileReader fr = new FileReader(file);
        
                Properties pro = new  Properties();
                pro.load(fr);
                pro.setProperty("张三", "66");
                        FileWriter fw = new FileWriter(file);
                pro.store(fw, "gaile");
                pro.list(System.out);
        fr.close();
        fw.close();
        }

}

运行结果:-- listing properties --                                                                                                                                                                                            王五=33
张三=66
李四=22

但是如果把上面的修改年龄的代码改为(只是动一下顺序,内容未修改)package mytest;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;

public class Prochange {

        public static void main(String[] args) throws IOException {
                // TODO Auto-generated method stub
                File file = new File("e:\\pro.txt");
                FileReader fr = new FileReader(file);
                FileWriter fw = new FileWriter(file);
                Properties pro = new  Properties();
                pro.load(fr);
                pro.setProperty("张三", "66");
               
                pro.store(fw, "gaile");
                pro.list(System.out);
        fr.close();
        fw.close();
        }

}

结果却变成了:
-- listing properties --
张三=66


这是为什么呢,请高手指点。。。









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2