day20/RunCount.java

来源:互联网 发布:网络远程教育学校 编辑:程序博客网 时间:2024/06/07 10:00
/*用于记录应用程序运行次数。如果使用次数已到,那么给出注册提示。-------------很容易想到的是:计数器。可是该计数器定义在程序中,随着程序的运行而在内存中存在,并进行自增,可是随着该应用程序的退出,该计数器也在内存中消失了。下一次再启动该程序时,又重新开始从0计数。这样不是我们想要的。程序即使结束,该计数器的值也存在。下次程序启动,再会先加载该计数器的值并加1,再重新存储起来。-----------------------所以要建立一个配置文件,用于记录该软件使用的次数。该配置文件使用键值对的形式。这样便于阅读数据,并操作数据。键值对数据是map集合。数据是以文件形式存储,使用io技术。那么map+io --->properties配置文件可以实现应用程序数据的共享。*/import java.util.*;import java.io.*;class RunCount {public static void main(String[] args) throws IOException{Properties prop = new Properties();File file = new File("count.ini");if(!(file.exists()))file.createNewFile();FileInputStream fis = new FileInputStream("count.ini");prop.load(fis);//将流中数据存到map集合的子类Properties中//硬盘文件中的数据拿到了内存中//------------在内存中操作数据int count=0;String value = prop.getProperty("time");if(value!=null){count=Integer.parseInt(value);if(count>=5){System.out.println("免费使用次数已到,请购买");return ;}}count++;prop.setProperty("time",count+"");//----------将内存中改动后的数据,保存到硬盘文件中FileOutputStream fos = new FileOutputStream("count.ini");prop.store(fos,"");//----关流fis.close();fos.close();}}

0 0
原创粉丝点击