A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天涯追梦 中级黑马   /  2014-4-30 12:45  /  738 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 天涯追梦 于 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


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




评分

参与人数 1技术分 +1 收起 理由
SyouRai_Tsk + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马