Properties配置文件(计数器)

免费使用五次后需注册

前提:需要在D盘目录下创建【传说中的配置文件.ini】,并写入
time = 0 (或者其他数字)
实现的功能:获取一个应用程序运行次数,如果超过五次,给出使用次
数已到请注册的提示。
思路:
1、应该有计数器
  每次程序启动都需要计数一次,并且是在原有的次数上进行计数。

2、计数器就是一个变量
  程序启动的时候进行计数,计数器必须存在于内存并进行运算。可
是程序一结束,计数器消失了,再次启动该程序时,计数器又被初始
化了。而我们需要多次启动同一个应用程序,使用的是同一个计数
器,这就需要计数器的生命周期变长,从内存存储到硬盘文件中。

3、如何使用这个计数器呢?
  首先,程序启动时,应该先读取这个用于记录计数器信息的配置文
件,获取上一次计数器次数,并进行使用次数的判断。其次,对该次
数进行自增,并将自增后的次数重新存储到配置文件中。

4、文件中的信息该如何进行存储并体现
  直接存储次数值可以,但是不明确该数据的含义,所以起名字就变得很重要,
又需要读取硬盘上的数据,所以map+io=properties.

public static void counter() throws IOException{

    //将配置文件封装成File对象
    File f = new File("D:\\传说中的配置文件.ini");

    //健壮性判断:判断文件是否存在
    if(!f.exist())
        f.creatNewFile();

    FileReader fr = new FileReader(f);
    Properties prop = new Properties();

    int time=0;
    prop.load(fr); //将文件的信息存到Properties集合中

    //获取文件中time的值,并存入count变量中
    String count = prop.getProperty("time");
    time = Integer.parseInt(count); //String型转int型

    if(time<5)
        time++;
    else{
    System.out.println("免费使用次数已到,请注册!");
        return; //终止程序
//      throw new RuntimeException("使用次数已到");
    }

    //修改配置信息,将整形转化成字符串类型,这招很聪明
    prop.setProperties("time",time+"");

//  创建新文件流并将集合中的信息写入
    FileWriter fw = new FileWriter("D:\\传说中的配置文件.ini");
    prop.store(fw,"counter");

    fr.close();
    fw.close();
}

你可能感兴趣的:(javase,Properties)