用于记录应用程序运行的次数
如果次数已到,那么给出注册提示
首次 想到的是计数器
可是计数器定义在程序中,随着程序的运行而在内存中存在 并进行自增
可是随着该应用程序的退出 该计数器 也在内存中消失了
下一次 再启动改程序 又重新开始从0计数
这不是 实际需要
需求:程序即使结束,该计数器的值也存在
下次启动程序时会先加载该计数器的值 并自增1后重新存储起来
所以要建立一个配置文件,用于记录该软件的使用次数
该配置文件使用键值对的形式
这样便于阅读数据 并操作数据
键值对数据 是map集合
数据是以文件形式存储 使用io技术
那么Map+IO--->Properties
配置文件可以实现应用程序数据的共享
import java.util.*; import java.io.*; class countDemo { public static void main(String[] args) throws Exception { count(); } public static void count() throws Exception { Properties pro = new Properties(); //创建文件对象 File f = new File("count.ini"); if(!f.exists()) //当文件不存在时 创建 f.createNewFile(); //读取流 关联 文件 FileInputStream fis = new FileInputStream(f); //将数据读取到 集合中 pro.load(fis); int cn=0; String count = pro.getProperty("Times"); if(count!=null) { //字符串转为 int cn=Integer.parseInt(count);//cn=Integer.ValueOf(count); if(cn>=5) { System.out.println("您的使用次数已到,麻烦注册!"); return ; //用于结束程序 } } cn++; //将变化后的值 设置到集合中 pro.setProperty("Times",cn+"");//int转为字符串 Integer.toString(cn) //创建输出流 用于写入数据到文件 FileOutputStream fos = new FileOutputStream(f); //将流中的数据 写入输出流 pro.store(fos,""); //fos.write(f); fis.close(); fos.close(); //指定程序 打开指定文件 查看写好的配置文件 Runtime r = Runtime.getRuntime(); //执行指定命令 会抛出IOException 单\表示转义字符 //能够指定程序 打开相关的文件 Process p = r.exec("notepad.exe count.ini"); //结束进程 只能够结束之前开启的进程 Thread.sleep(4000); p.destroy(); } }