package cn.jason.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class Test {
public static void main(String[] args) throws IOException {
/*
* 需求:定义一个功能,记录程序运行的次数。满足5次后,给出提示,试用次数已到,请注册!
* 思路:
* 1.需要计数器
* 2.计数器的值生命周期要比应用程序的周期要长,需要对计数器的值进行持久化。
* count=1,里面存储的应该是键值方式,map集合,要和设备上的数据关联,需要IO技术
* 集合+IO=properties
*/
boolean b = checkCount();
if(b)
run();
}
* 需求:定义一个功能,记录程序运行的次数。满足5次后,给出提示,试用次数已到,请注册!
* 思路:
* 1.需要计数器
* 2.计数器的值生命周期要比应用程序的周期要长,需要对计数器的值进行持久化。
* count=1,里面存储的应该是键值方式,map集合,要和设备上的数据关联,需要IO技术
* 集合+IO=properties
*/
boolean b = checkCount();
if(b)
run();
}
private static boolean checkCount() throws IOException {
boolean isRun =true;
//1.将配置文件封装成File对象,因为要判断文件是否存在
File configFile = new File("tempfile\\count.properties");
if(!configFile.exists()){
configFile.createNewFile();
}
int count = 0;//记录每次存储的次数
Properties prop = new Properties();//用于存储配置文件中的数据
//2.定义流对象
FileInputStream fis = new FileInputStream(configFile);
//3.将流中的数据加载到集合中
prop.load(fis);
//4.获取键对应的次数
String value = prop.getProperty("count");
if(value!=null){
count = Integer.parseInt(value); //转换成Integer
if(count>=5){
System.out.println("试用次数已到,请注册!");
isRun = false;
}
}
count++;//对取出的次数进行自增
//将键count,和自增后值重新存储到集合中 map集合键相同,值覆盖
prop.setProperty("count", Integer.toString(count)); //count转换成String
//将集合中的数据存储到配置文件中
FileOutputStream fos = new FileOutputStream(configFile);
prop.store(fos, "");
fos.close();
fis.close();
return isRun;
}
boolean isRun =true;
//1.将配置文件封装成File对象,因为要判断文件是否存在
File configFile = new File("tempfile\\count.properties");
if(!configFile.exists()){
configFile.createNewFile();
}
int count = 0;//记录每次存储的次数
Properties prop = new Properties();//用于存储配置文件中的数据
//2.定义流对象
FileInputStream fis = new FileInputStream(configFile);
//3.将流中的数据加载到集合中
prop.load(fis);
//4.获取键对应的次数
String value = prop.getProperty("count");
if(value!=null){
count = Integer.parseInt(value); //转换成Integer
if(count>=5){
System.out.println("试用次数已到,请注册!");
isRun = false;
}
}
count++;//对取出的次数进行自增
//将键count,和自增后值重新存储到集合中 map集合键相同,值覆盖
prop.setProperty("count", Integer.toString(count)); //count转换成String
//将集合中的数据存储到配置文件中
FileOutputStream fos = new FileOutputStream(configFile);
prop.store(fos, "");
fos.close();
fis.close();
return isRun;
}
public static void run(){
System.out.println("软件运行");
}
}
System.out.println("软件运行");
}
}
749

被折叠的 条评论
为什么被折叠?



