本帖最后由 天涯追梦 于 2014-4-30 13:00 编辑
用properties可以把集合持久化存储到硬盘上,以下代码完成此功能
- package mytest;
- import java.io.File;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.util.Properties;
- public class ProTest {
- public static void main(String[] args) throws IOException {
- File file = new File("e:\\pro.txt");
- FileWriter fw = new FileWriter(file);
- Properties pro = new Properties();
- pro.setProperty("张三", "20");
- pro.setProperty("李四", "22");
- pro.setProperty("王五", "33");
- pro.store(fw, "heihie");
- pro.list(System.out);
-
-
- }
- }
复制代码 上述代码运行结果:
-- 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
这是为什么呢,请高手指点。。。
|