当前位置: 代码迷 >> J2SE >> Java 程序 关于Properties 类的 Store方法的有关问题
  详细解决方案

Java 程序 关于Properties 类的 Store方法的有关问题

热度:638   发布时间:2016-04-23 20:41:42.0
Java 程序 关于Properties 类的 Store方法的问题

InputStream in = new FileInputStream("Demo.txt");
Properties p = new Properties();
p.load(in);
p.setProperty("dd","3000");

OutputStream out = new FileOutputStream("Demo.txt");
p.store(out,"sdf");
System.out.println(p);
out.close();
in.close();

这样写就可以改变Demo.txt 的值
为什么下面的代码不能会覆盖以前 Demo.txt文件中的值呢?

                OutputStream out = new FileOutputStream("Demo.txt");
InputStream in = new FileInputStream("Demo.txt");
Properties p = new Properties();
p.load(in);
p.setProperty("dd","3000");
p.store(out,"sdf");
System.out.println(p);
out.close();
in.close();

OutputStream out = new FileOutputStream("Demo.txt"); 
把这个代码移动到上面和中间有什么不同之处吗?
求大神们求解。

------解决方案--------------------
问题在这
OutputStream out = new FileOutputStream("Demo.txt");
FileOutputStream打开文件的方式默认是覆盖,就是一旦执行了上面这句,那么原有文件中的内容被清空
所以你在还没有p.load(in);加载Properties的时候就把文件清空了
  相关解决方案