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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马任雪刚 中级黑马   /  2012-5-24 15:59  /  2358 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//需求:用于记录应用程序运行的次数,如果使用次数已到,那么给出注册提示。
import java.io.*;
import java.util.*;
public class ProDemo
{

public static void main(String[] args) throws IOException
{
  Properties pro = new Properties();
  File f = new File("ProDemo.ini");
  if(!f.exists())
   f.createNewFile();
  FileInputStream fr = new FileInputStream(f);
  pro.load(fr);
  int count=0;
  String s = pro.getProperty("time");
  if(s!=null)
  {
   count = Integer.parseInt(s);
   if(count>=5)
   {
    System.out.println("您的使用次数已到,欢迎再次付费使用!!!");
       return;
   }
  }
  count++;
  pro.setProperty("time", count+"");             //这一步与下面的代码:pro.store(fw,"");有什么联系?
                                                   //这两步分别是什么意思呀??
  FileOutputStream fw = new FileOutputStream(f);
  pro.store(fw,"");                              
  fr.close();
  fw.close();
  
}
}

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

3 个回复

倒序浏览
count++;
pro.setProperty("time", count+"");      这行两条语句是 每次读取配置文件的时候,将指定 key  “time”映射到此哈希表中的指定 value 值加1,
Value值为String类型,所以要把count转换为String类型.
pro.store(fw,"");     将此 Properties 表中的属性列表(键和元素对)写入输出流fw。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
pro.setProperty("time", count+"");
这一步是把修改后的键值对添加进集合里,把原来的“time”对应的value覆盖掉。
pro.store(fw,"");是把集合存入输出流fw中,通过fw把集合里面的对象写入目标文件存储
pro集合里面的属性修改了之后,该集合还只是在存在内存中而已,需要通过输出流fw写入目标文件实现长久化存储。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
pro.setProperty("time", count+"");
//这一步与下面的代码:pro.store(fw,"");有什么联系?
pro集合里面的属性修改了之后,该集合还只是在存在内存中而已,需要通过输出流fw写入目标文件实现长久化存储。
//这两步分别是什么意思呀??
第一步:修改键值
第二步:把修改的键值保存到ProDemo.ini文件中

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

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