JAVA之IO技术相关 如何设置软件的使用次数

来源:互联网 发布:人工智能机器人取代 编辑:程序博客网 时间:2024/05/17 19:17
/* * 如何设置软件的使用次数? * 开发了一款软件,可以给用户进行试用,但是到了一定次数后,软件不能再被试用 * 同时提醒用户付费。 * 思路: * 计数呗 * 问题出现,计数器只能存在于程序运行过程中,实际是保存在内存中的。 * 那么一旦程序结束,这个计数器的值又恢复为了初始程序中设定的值。 * 那么如何保存这个值,在下一次启动应用程序的时候,让其仍然存在啊 * 思路:让这个值持久化,方法将其值保存在硬盘上的文件上。再每次运行 * 程序之前,先读取这个配置文件;程序关闭之前存储信息到配置文件。 * 当启动程序的时候,读取到的值如果超过我们设定给用户的次数,则终止 * 程序启动,就OK啦。 *  */package ioTest.io3;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import java.util.Properties;public class PropertiesControlCountToAPP {public static void main(String[] args) {try {loadConfigCount();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void loadConfigCount() throws IOException{//配置文件信息File confile=new File("F:\\configure.ini");Properties pro= new Properties();//读信息也可以直接用load方法解决BufferedReader in=null;String line=null;int count=1;try {in=new BufferedReader(new FileReader(confile));} catch (FileNotFoundException e) {e.printStackTrace();}while((line=in.readLine())!=null){if(!line.contains("="))//如果读取到一行没有=号,说明不是键值对继续执行循环continue;String[] confPmr=line.split("=");//将配置文件读取到properties集合中存储pro.setProperty(confPmr[0],confPmr[1]);}count=Integer.parseInt(pro.getProperty("count"));if(count>5){System.out.println("软件使用次数已到了,给点辛苦费,可以继续使用哦");return;}System.out.println("您是第"+count+"次使用本软件!您还可以使用"+(5-count)+"次本软件。");count++;pro.setProperty("count", count+"");FileOutputStream writer=new FileOutputStream(confile);pro.store(writer, "comments");writer.close();in.close();}}

0 0
原创粉丝点击