class PropertiesTest
{
/*
记录一个程序的运行次数
超过5次之后提示用户付费,购买正版
要记录次数,我们就要使用计数器。如果使用
变量来记录的话,那么程序一退出,计数器也就销毁了。记录的次数也就没有了。所以我们不能使用变量来记录。我们需要将计数器使用一个文件进去存储,我们的计数器要有格式。要给他起名称,这样以后的开发者好看懂。所以我们的计数器是:time:n,这是key和value的映射。我们想到了map集合,数据是以文件的形式进行存储,要使用map集合+io----properties
properties可以实现程序的数据共享
*/
public static void main(String[] args) throws IOException,Exception
{
File file=new File("d:\\config.ini"); //可以使用配置文件和xml
if(!file.exists()){
file.createNewFile(); //如果文件不存在就创建一个新的
}
FileInputStream fis=new FileInputStream(file); //使用流和文件对象关联
//创建配置文件对象
Properties prop=new Properties();
prop.load(fis);
//读取文件文件里面的内容
String value=prop.getProperty("time");
//使用变量记录程序运行的次数
int count=0;
if(value!=null){
count=Integer.parseInt(value);
//如果次数大于5则让用户付费程序不再往下执行
if(count>=5){
System.out.println("试用次数已到"+count+"次,请付费,购买正版");
return;
}
}
//计数器自增一次
count++;
//把自增后的计数器写到配置文件中
prop.setProperty("time",count+"");
//关联输出流将内存中的信息给写到文件中
File dFile=new File("d:\\config.ini");
FileOutputStream fos=new FileOutputStream(dFile);
prop.store(fos,"--itheimadesc--");
}
}
《黑马程序员》 properties之程序运行次数限定
最新推荐文章于 2019-06-24 11:46:52 发布