黑马程序员技术交流社区
标题:
修改配置信息问题
[打印本页]
作者:
袁錦泰
时间:
2012-5-6 22:55
标题:
修改配置信息问题
public static void main(String[] args) throws IOException {
test();
}
private static void test() throws IOException {
File file = new File("c:\\info.txt");
if(file.exists()){
file.createNewFile();
}
FileReader fr = new FileReader(file);
FileWriter fw = new FileWriter(file);
//为什么语句放在这里后,文件内部的内容只有"zhangsan","10",之前写入的信息全部都没有了
Properties prop = new Properties();
prop.load(fr);
prop.setProperty("zhangsan", "10");
prop.list(System.out);
prop.store(fw, "");
fr.close();
fw.close();
}
private static void propertiesDemo_1() throws IOException {
Properties prop = new Properties();
prop.setProperty("zhangsan","21");
prop.setProperty("lisi","22");
prop.setProperty("wangwu","23");
prop.setProperty("zhaoliu","24");
Set<String> names = prop.stringPropertyNames();
FileOutputStream fos = new FileOutputStream("c:\\info.txt");
prop.store(fos, "name+age");
fos.close();
}
作者:
李震 李震 李震
时间:
2012-5-6 23:03
前面的内容被覆盖掉了,如果要继续续写前面的内容必须在FileWriter fw = new FileWriter(file,true);
作者:
谭景宾
时间:
2012-5-6 23:04
文件被覆盖导致的,
FileWriter fw = new FileWriter(file,true) //多加一个参数,
“如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。”
作者:
小鹿叙鹿
时间:
2012-5-6 23:05
因为 FileReader fr = new FileReader(file)会读取已经存在的这个文件
而 FileWriter fw = new FileWriter(file)会创建一个文件,如果这个文件存在就把原来的给覆盖掉(重新的建立一个),否则建立一个新的。
而 FileWriter fw = new FileWriter(file)与FileReader fr = new FileReader(file)使用的刚好是同一个文件,
所以文件内部的内容只有"zhangsan","10",之前写入的信息全部都没有了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2