定义一个功能,记录程序运行的次数。满足5次后,给出提示,试用次数已到,请注册
2015-06-30 00:20
537 查看
<span style="font-size:18px;">package com.io.test.properties; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class PropertiesDemo { public static void main(String[] args) throws IOException{ /** * 需求:定义一个功能,记录程序运行的次数。满足5次后,给出提示,试用次数已到,请注册! * 思路: * 1,需要计数器。 * 2,计数器的值生命周期要比应用程序的周期要长,需要对计数器的值进行持久化。 * count=1,里面存储的应该是键值方式,map集合,要和设备上的数据关联,需要IO技术。 * 集合+IO = Properties。 */ boolean b=checkCount(); if(b) run(); } /** * * @return * @throws IOException */ public static boolean checkCount() throws IOException { boolean isRun=true; //1,将配置文件封装成File对象。因为要判断文件是否存在。 File file=new File("chen\\ifo.properties"); if(!file.exists()){//如果不存在就创建 file.createNewFile(); } int count=0;//记录每次存储的次数 //Properties prop=new Properties(); Properties prop =new Properties(); //2、定义输入流对象 FileInputStream fis=new FileInputStream(file); //3,将流中的数据加载到集合中。 prop.load(fis); //4,获取键对应的次数。 String value = prop.getProperty("count"); if(value!=null){ count = Integer.parseInt(value); if(count>=5){ System.out.println("试用次数已到,请注册,给钱!"); isRun = false; } } count++;//对取出的次数进行自增。 //将键count,和自增后值重新存储到集合中。 prop.setProperty("count", Integer.toString(count)); //将集合中的数据存储到配置文件中。 FileOutputStream fos = new FileOutputStream(file); prop.store(fos, ""); fos.close(); fis.close(); return isRun; } private static void run() { System.out.println("软件开始运行"); } } </span>
相关文章推荐
- 输入框只能输入数字 以及其他限制的总结
- AFNetworking获取服务端plist文件,XML文件
- POJ 3592 强连通缩点+spfa最长路
- 公安项目项目感想
- 注解开发spring-aop 入门
- 2015062909 - 黑鹰坠落
- .Net 自定义事件
- .Net 自定义事件
- 第八十八天 how can I 坚持 angelaJs
- 三范式
- 37条常用Shell命令
- virtualtree 的使用(Delphi)
- 2015062908 - EffactiveJava笔记 - 第46条 foreach优先传统for循环(4)
- delphi中VirtualStringTree树使用方法之终结篇!
- Java enum的用法详解
- PHP文件包含漏洞详解
- Eclipse快捷键
- .Net学习笔记----2015-06-29(多态----接口)
- Python学习笔记 - 高阶函数
- Python学习笔记 - 高阶函数