Java 程序 关于Properties 类使用Store方法时不能会覆盖以前Properties 文件的内容
2016-09-14 11:46
736 查看
F:\\Demo.properties 文件内容:
#\u65B0\u589E\u4FE1\u606F
#Wed Sep 14 11:16:24 CST 2016
province=广东
tt=近蛋
city=佛山市
java代码:
public static void test() throws IOException {
FileWriter writer = new FileWriter("F:\\Demo.properties");
FileReader reader = new FileReader("F:\\Demo.properties");
Properties p = new Properties();
p.load(reader);
System.out.println(p);
p.setProperty("dd", "中建普联");
p.setProperty("cc", "狗娃");
p.setProperty("bb", "狗剩");
p.setProperty("aa", "铁蛋");
p.store(writer, "新增信息");
System.out.println(p);
reader.close();
writer.close();
}
控制台输出:
{}
{dd=中建普联, aa=铁蛋, bb=狗剩, cc=狗娃}
出现的问题:
一,读取的内容为空,
二,没有覆盖以前Properties 文件的内容
原因是:
FileWriter writer = new FileWriter("F:\\Demo.properties");
FileWriter 打开文件的方式默认是覆盖,就是一旦执行了上面这句,那么原有文件中的内容被清空
所以你在还没有p.load(in);加载Properties的时候就把文件清空了
修改后如下 :
public static void test() throws IOException {
FileReader reader = new FileReader("F:\\Demo.properties");
Properties p = new Properties();
p.load(reader);
System.out.println(p);
p.setProperty("dd", "中建普联");
p.setProperty("cc", "狗娃");
p.setProperty("bb", "狗剩");
p.setProperty("aa", "铁蛋");
FileWriter writer = new FileWriter("F:\\Demo.properties");
p.store(writer, "新增信息");
System.out.println(p);
reader.close();
writer.close();
}
控制台输出:
{province=广东, tt=近蛋, city=佛山市}
{dd=中建普联, province=广东, tt=近蛋, aa=铁蛋, bb=狗剩, city=佛山市, cc=狗娃}
问题解决:
是因为FileWriter 打开文件的方式默认是覆盖,
就是一旦执行了上面这句,那么原有文件中的内容被清空
所以你在还没有p.load(in);加载Properties的时候就把文件清空了
所以 一定要注意打开 [b]FileWriter 的时机,来把握 FileWriter writer = new FileWriter("F:\\Demo.properties"); 代码位置[/b]
#\u65B0\u589E\u4FE1\u606F
#Wed Sep 14 11:16:24 CST 2016
province=广东
tt=近蛋
city=佛山市
java代码:
public static void test() throws IOException {
FileWriter writer = new FileWriter("F:\\Demo.properties");
FileReader reader = new FileReader("F:\\Demo.properties");
Properties p = new Properties();
p.load(reader);
System.out.println(p);
p.setProperty("dd", "中建普联");
p.setProperty("cc", "狗娃");
p.setProperty("bb", "狗剩");
p.setProperty("aa", "铁蛋");
p.store(writer, "新增信息");
System.out.println(p);
reader.close();
writer.close();
}
控制台输出:
{}
{dd=中建普联, aa=铁蛋, bb=狗剩, cc=狗娃}
出现的问题:
一,读取的内容为空,
二,没有覆盖以前Properties 文件的内容
原因是:
FileWriter writer = new FileWriter("F:\\Demo.properties");
FileWriter 打开文件的方式默认是覆盖,就是一旦执行了上面这句,那么原有文件中的内容被清空
所以你在还没有p.load(in);加载Properties的时候就把文件清空了
修改后如下 :
public static void test() throws IOException {
FileReader reader = new FileReader("F:\\Demo.properties");
Properties p = new Properties();
p.load(reader);
System.out.println(p);
p.setProperty("dd", "中建普联");
p.setProperty("cc", "狗娃");
p.setProperty("bb", "狗剩");
p.setProperty("aa", "铁蛋");
FileWriter writer = new FileWriter("F:\\Demo.properties");
p.store(writer, "新增信息");
System.out.println(p);
reader.close();
writer.close();
}
控制台输出:
{province=广东, tt=近蛋, city=佛山市}
{dd=中建普联, province=广东, tt=近蛋, aa=铁蛋, bb=狗剩, city=佛山市, cc=狗娃}
问题解决:
是因为FileWriter 打开文件的方式默认是覆盖,
就是一旦执行了上面这句,那么原有文件中的内容被清空
所以你在还没有p.load(in);加载Properties的时候就把文件清空了
所以 一定要注意打开 [b]FileWriter 的时机,来把握 FileWriter writer = new FileWriter("F:\\Demo.properties"); 代码位置[/b]
相关文章推荐
- Java 程序 关于Properties 类使用Store方法时不能会覆盖以前Properties 文件的内容
- Properties 类使用Store方法时 避免 覆盖以前Properties 文件的内容
- Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作
- 关于vc6程序拖拽文件WM_DROPFILE在win7,win8,vista上不能响应的解决方法
- 关于R.java文件不能自动更新的使用感受
- 关于spring在程序中读取properties文件配置项的方法
- 关于“以前的某个程序安装已在安装计算机上创建挂起的文件操作”解决方法
- 使用JAVA读写Properties属性文件的方法详解
- java提供的把中文转化为ascII码(*.properties 文件配置使用)的方法
- Java_类和对象(完美总结)_转载_覆盖和隐藏的区别,覆盖就不能使用了,而隐藏提供全局方法名或者全局变量名还可以使用
- java使用java.util.Properties读取properties文件的九种方法
- 详解Java程序读取properties配置文件的方法
- 关于java读取和写入properties配置文件的内容
- 关于使用cmd编译java文件出现乱码现象解决方法
- 使用JAVA读写Properties属性文件的方法详解
- 关于如何使用properties读取配置文件内容问题
- Spring: 读取 .properties 文件地址,json转java对象,el使用java类方法相关 (十三)
- 关于IIS服务启动失败的问题:“IIS提示‘另一个程序正在使用此文件,进程无法访问’”,的解决方法
- java使用POI读取properties文件并写到Excel的方法
- Java代码中获取配置文件(config.properties)中内容的两种方法