`
哈达f
  • 浏览: 114687 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

用properties记录次数

    博客分类:
  • j2se
 
阅读更多
/*
获取java程序运行的次数。
思路:
通过一个配置文件将运行次数进行记录。
每一次打开该程序时,都先加载这个文件获取其中的次数。
并对该次数自增,重新存回配置文件。

注意:次数可以直接用一个数值,但是如果,除了记录次数还要记录其他信息的时候,那么这些数值无法进行区分。
所以给这些数值都起了名字,出现了键值对。

步骤:
	1,通过流关联配置文件,可是配置文件第一次不存在,所以最好将配置文件封装成File对象,并进行判断。
	2,通过和流相结合的结合对象Properties的load方法,将流关联的数据存入到集合中。
	3,通过集合的方法获取指定键所以对应的次数,并将该次数进行自增。
	4,将集合中修改后的数据通过集合的store方法重新存入配置文件中。

*/

import java.util.*;
import java.io.*;
class  RunCount
{
	public static void main(String[] args) throws IOException
	{
		/**/
		Properties prop = new Properties();
		

		int count = 0;
		File file = new File("runcount.ini");

		if(!file.exists())
			file.createNewFile();

		FileInputStream fis = new FileInputStream(file);

		prop.load(fis);

		String value = prop.getProperty("count");

		if(value!=null)
		{
			count = Integer.parseInt(value);
			if(count==10)
			{
				System.out.println("次数已到,必须给钱,否则.....");
				return ;
			}
		}

		count++;

		prop.setProperty("count",Integer.toString(count));

		FileOutputStream fos = new FileOutputStream(file);

		prop.store(fos,"");
		
		fos.close();
		fis.close();
		
//		show();

	}

	public static void show()throws IOException
	{
		Properties prop = new Properties();
		

		int count = 0;
		File file = new File("runcount.ini");
		FileInputStream fis = null;
		
		try
		{
			fis = new FileInputStream(file);
			prop.load(fis);
		}
		catch (FileNotFoundException e)
		{
			prop.setProperty("count",count+"");
		}
		

		

		String value = prop.getProperty("count");

		if(value!=null)
		{
			count = Integer.parseInt(value);
			if(count==3)
			{
				System.out.println("次数已到,必须给钱,否则.....");
				return ;
			}
		}

		count++;

		prop.setProperty("count",Integer.toString(count));

		FileOutputStream fos = new FileOutputStream(file);

		prop.store(fos,"");
		
		fos.close();
		if(fis!=null)
			fis.close();
	}
}

 

分享到:
评论

相关推荐

    javaagent:基于javaagent开发的APM工具,收集方法的执行次数和执行时间,定时输出成json格式的日志

    相比于NewRelic或者开源的,以及阿里的,本工具主打的是简单,我们只记录每个方法的执行次数和时间,并输出到json格式的日志文件中。基于javaagent的日志,你可以使用严丽同学开发的进行分析查询,或者可以自己去写...

    java监控.rar

    如果需要自定义监控频率与监控时长,只需要在jar包所在目录下新建application.properties文件,修改下列字段即可 monitor.rate=60 #监控频率/秒 monitor.cron=0 0 0 * * ? #每日的0:00:00时刻清空数据 连续监控1个...

    visio教程PDF

    7.1 设置Undo/Redo的次数 7.2 使用撤消命令 7.2.1 创建一个例子 7.2.2 使用Edit Undo方法 7.2.3 使用标准工具栏中Undo控件 7.2.4 使用键盘撤消命令 7.3 使用Redo命令 7.3.1 使用Edit Redo方法 ...

    Visio 2000 技术大全

    7.1 设置Undo/Redo的次数 7.2 使用撤消命令 7.2.1 创建一个例子 7.2.2 使用Edit Undo方法 7.2.3 使用标准工具栏中Undo控件 7.2.4 使用键盘撤消命令 7.3 使用Redo命令 7.3.1 使用Edit ...

    filmRental:电影租赁

    mysql:用户名:root密码:123456数据库的设置文件在resources / config / properties / db.properties ...问题解决:我所遇到的问题是我数据库使用的是8.0.11版本,但是mysql-connector-java驱动包使用的是5

    mosquito:通用型错误微信报警系统,让你无论在何处都可以第一时间收到报警消息

    mosquito 利用微信接口进行报警提示,可以动态配置报警规则,以及查看报警监控日志。...mosquito 有两个界面一个 role 界面用于添加报警规则,第二个界面是 log 用于统计报警的次数以及微信接口发送

    flash shiti

    3. FListBox.addItem 和FListBox.addItemAt 有什么用 □ A. 添加列表框 □ B. 使用Value(值)对话框添加项目 □ C. 添加下拉菜单 □ D. 给组合框添加项目 4. Library 中有一元件Symbol 1,舞台上有一个该元件的实例...

    CRM客户销售管理软件B/S

    4)客户跟踪回访:将心理学上提出的人类记忆储能曲线形成客户跟踪曲线,以自动提醒的方式帮助销售人员把握回访客户的最佳时机,达到用最少的联系次数取得商机或获得订单,有效的缩短成交客户的开发周期,从而能够最...

    Report machine 2.4

    Report Machine 2.4 =================== 这是一个报表控件包,For Borland Delphi Versions 3,4,5,6.100% 源码. 最后更新日期:2002.05.25. ... 需要用BDE Administrator建立一个Database Alias:...

    rm2.6正式版本

    对于一般的主从表,单表,你甚至只需要点动鼠标次数=你的数据字段个数就可以 完成一个完全自定义的,并且支持用户进行格式修改加工,重新设计格式的报表! 想想fast report 吧,report machine会fast ...

    delphi通用函数单元一

    {* 返回某个字符串中某个字符串中出现的次数} function FindStr(ShortStr:String;LongStrIng:String):Integer; {测试通过} {* 返回某个字符串中查找某个字符串的位置} function SubStr(psInput:String; BeginPlace...

Global site tag (gtag.js) - Google Analytics