黑马程序员技术交流社区

标题: Properties中实现对程序使用次数限定中的疑惑。。。。 [打印本页]

作者: fufeng    时间: 2014-4-27 01:14
标题: Properties中实现对程序使用次数限定中的疑惑。。。。
  1. import java.io.*;
  2. import java.util.*;

  3. class RunCount
  4. {
  5. public static void main(String[] args) throws Exception
  6. {
  7. Properties prop = new Properties();

  8. File file = new File("count.ini");

  9. if(!file.exists())
  10. file.createNewFile();

  11. FileInputStream fis = new FileInputStream(file);

  12. //FileOutputStream fos = new FileOutputStream(file);//位置【1】

  13. prop.load(fis);

  14. int count = 0;
  15. String value = prop.getProperty("time");

  16. if(value != null)
  17. {
  18. count = Integer.parseInt(value);
  19. if(count >= 5)
  20. {
  21. sop("您好!,使用次数已到,拿钱!!!");
  22. return ;
  23. }
  24. }
  25. count++;
  26. prop.setProperty("time",count+"");

  27. //FileOutputStream fos = new FileOutputStream(file);//位置【2】
  28. prop.store(fos,"");

  29. fis.close();
  30. fos.close();

  31. }
  32. public static void sop(Object obj)
  33. {
  34. System.out.println(obj);
  35. }
  36. }
复制代码
该程序的功能是将对程序使用次数存放到count.ini配置文件中,当超过五次使用后就显示信息。
疑惑:当关闭位置【1】代码,打开位置【2】代码,该程序能够实现该功能
          但是当打开位置【1】代码,关闭位置【2】代码,改成程序功能就不能实现,而且,对此使用该程序时,
          配置文件中 总是为:time=1
自己理解:是不是因为该输出流:FileOutputStream fos = new FileOutputStream(file);一创建 就会将原来的数据给清空了???
         但,到底是为什么呢?

作者: eternallove    时间: 2014-4-27 09:17
应该是,应该是每次创建count.ini文件时,就会覆盖掉之前的文件。应该是这样的。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2