您的位置:首页 > 其它

定义一个功能,记录程序运行的次数。满足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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: