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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王莹 中级黑马   /  2012-6-26 11:08  /  1604 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王莹 于 2012-6-26 18:18 编辑

下面是毕老师讲解计算程序运行次数的程序。可是,我还是有一个地方很困惑。请大家帮忙解释一下输入输出流的特点。谢谢~~

import java.io.*;
import java.util.*;
class  RunCount
{
public static void main(String[] args) throws IOException
{
  Properties prop = new Properties();
  File file = new File("D:\\count.ini");
  if (!file.exists())
        file.createNewFile();
  FileInputStream fis = new FileInputStream(file);
  
  prop.load(fis);//不是说程序一关闭,计数器也会随之在内存中消失,所以才用的流的操作吗。Properties中的load方法是加载输入流中键值对值。可是,输入流或者输出流难道就不会随着程序的结束或则关机操作被清空吗?
  String value = prop.getProperty("time");
  int count =0;
  if (value!=null)
  {  
   count = Integer.parseInt(value);
     if(count>=5)
   {
       System.out.println("You need to pay for it!");
     }
  }
      count++;
  prop.setProperty("time",count+"");
  FileOutputStream fos = new FileOutputStream(file);
  prop.store(fos,"");
  fos.close();
  fis.close();
}
}

2 个回复

倒序浏览
本帖最后由 陆强强 于 2012-6-26 11:20 编辑

这个代码就是通过Properties把count保存在另一个配置文件中,下次执行程序的时候再读取配置文件,加载count
prop.load(fis);加载的是FIS中的配置文件
你可以理解成单机游戏的SAVE文件,流只是游戏客户端

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

回复 使用道具 举报
陆强强 发表于 2012-6-26 11:17
这个代码就是通过Properties把count保存在另一个配置文件中,下次执行程序的时候再读取配置文件,加载count ...

我当时是误解了,我以为就是把配置的信息传到流中,其实是保存在了硬盘上,而且我之前是认为所谓的计数的程序就是那个配置的文件,实际上我们在命令行窗口运行的才是真正的程序。谢谢你~~我已经想明白了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马