A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Porsche911 于 2014-6-5 15:27 编辑
  1. import java.io.*;
  2. import java.util.*;
  3. class  RunCount
  4. {
  5.           public static void main(String[] args) throws IOException
  6.           {
  7.                     Properties prop = new Properties();

  8.                     File file = new File("count.ini");
  9.                     if(!file.exists())
  10.                     file.createNewFile();
  11.                
  12.                     FileInputStream fis = new FileInputStream(file);

  13.                     prop.load(fis);
  14.                

  15.                     int count = 0;
  16.                     String value = prop.getProperty("time");
  17.                
  18.                     if(value!=null)
  19.                     {
  20.                               count = Integer.parseInt(value);
  21.                               if(count>=5)
  22.                               {
  23.                                         System.out.println("您好,使用次数已到,拿钱!");
  24.                                         return ;
  25.                               }

  26.                      }

  27.                     count++;

  28.                     prop.setProperty("time",count+"");

  29.                     FileOutputStream fos = new FileOutputStream(file);

  30.                     prop.store(fos,"");

  31.                     fos.close();
  32.                     fis.close();
  33.                
  34.           }
  35. }
复制代码
上面这段代码是毕老师的原码。但是,如果把FileOutputStream fos = new FileOutputStream(file);这个代码写到 FileInputStream fis = new FileInputStream(file);后面,换句话说两句话连着写的话,即使不断重复运行程序,计数器一直是1,而不会自增这是为什么啊?

1 个回复

倒序浏览
我认为是这样的,FileOutputStream fos = new FileOutputStream(file);
这个语句在执行时,如果文件“file”不存在,就会创建该文件,如果存在会覆盖原文件“file”。
所以每次由于properties文件的value值默认为0,经过加1后存储到“file”中,所以每次都是存储的1。

修正:FileOutputStream fos = new FileOutputStream(file,true);这样加到FileinputStream后就可以了,
第二个参数置为true,他就不会创建新文件,而是在原文件后继续写入。(但配置文件内容会变多)

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马