Java之Property-统获取一个应用程序运行的次数
package FileDemo; import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties; public class PropertyTest { /**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException { /*
* 定义功能,获取一个应用程序运行的次数,如果超过5次,给出使用次数已到请注册的提示。并不要在运行程序。
*
* 思路: 1,应该有计数器。 每次程序启动都需要计数一次,并且是在原有的次数上进行计数。 2,计数器就是一个变量。
* 突然冒出一想法,程序启动时候进行计数,计数器必须存在于内存并进行运算。
* 可是程序一结束,计数器消失了。那么再次启动该程序,计数器又重新被初始化了。 而我们需要多次启动同一个应用程序,使用的是同一个计数器。
* 这就需要计数器的生命周期变长,从内存存储到硬盘文件中。
*
* 3,如何使用这个计数器呢? 首先,程序启动时,应该先读取这个用于记录计数器信息的配置文件。 获取上一次计数器次数。 并进行使用次数的判断。
* 其次,对该次数进行自增,并自增后的次数重新存储到配置文件中。
*
*
* 4,文件中的信息该如何进行存储并体现。 直接存储次数值可以,但是不明确该数据的含义。 所以起名字就变得很重要。
* 这就有了名字和值的对应,所以可以使用键值对。 可是映射关系map集合搞定,又需要读取硬盘上的数据,所以map+io =
* Properties.
*/
getAppCount();
} private static void getAppCount() throws IOException {
File conFile = new File("count.properties");
if (!conFile.exists()) {
conFile.createNewFile();
}
FileInputStream fis = new FileInputStream(conFile);
Properties prop = new Properties();
prop.load(fis);
String values = prop.getProperty("time");
int count = 0;
if (values != null) {
count = Integer.parseInt(values);
if (count > 5) {
throw new RuntimeException("使用次数限制已到");
}
}
count++;
prop.setProperty("time", count+"");
FileOutputStream fos = new FileOutputStream(conFile);
prop.store(fos, "");
fos.close();
fis.close(); }
}
Java之Property-统获取一个应用程序运行的次数的更多相关文章
- 简单的Java网络爬虫(获取一个网页中的邮箱)
import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; impo ...
- 下载eclipse 配置eclipse 新建Java项目 写一个小程序 运行
为了更好的学习java,我打算下载个eclipse 地址:https://www.eclipse.org/downloads/packages/ 我们需要下载的版本是Eclipse IDE for J ...
- Java中利用正则表达式获取一个网页中的所有邮箱地址
package cn.tms.ui; import java.io.BufferedReader; import java.io.File; import java.io.FileWriter; im ...
- java 环境变量配置与第一个程序运行
从开始下载jdk,到运行出java第一个程序 ,花了5天时间 ,不过我相信万事开头难 ,以后会越来越好的 ,加油! jdk的下载: 在oracle官网上即可下载,jdk安装包,下载完以后运行安装 ,路 ...
- linux下模拟一个木马程序运行过程
预备知识: 将一个程序放入到后台,悄悄的执行 ./xxx.sh & 进程: 用户进程:由用户来管理 系统进程:由系统内核自行管理 系统中的每个进程,都有一个位置的ID,这就是pid,而且每次启 ...
- winform只允许一个应用程序运行 2014-12-08 09:51 31人阅读 评论(0) 收藏
使用互斥体Mutex类型 导入命名空间 using System.Threading; //声明互斥体 Mutex mutex = new Mutex(false, "ThisShouldO ...
- winform只允许一个应用程序运行
使用互斥体Mutex类型 using System.Threading; //声明互斥体 Mutex mutex = new Mutex(false, "ThisShouldOnlyRunO ...
- 今天在网上查看了一个socket程序,运行的时候一直报错,经过队友解决?
1.首先是问题代码ip_port = ('192.168.12.2',8001)2.上边的代码本身没有问题,但是必须经过修改自己本机的局域网IP地址才能顺利链接请参考上一篇blog的地址,查看本机的i ...
- 一起学Hadoop——使用IDEA编写第一个MapReduce程序(Java和Python)
上一篇我们学习了MapReduce的原理,今天我们使用代码来加深对MapReduce原理的理解. wordcount是Hadoop入门的经典例子,我们也不能免俗,也使用这个例子作为学习Hadoop的第 ...
随机推荐
- Codeforces Round #240 (Div. 2)(A -- D)
点我看题目 A. Mashmokh and Lights time limit per test:1 secondmemory limit per test:256 megabytesinput:st ...
- easyui源码翻译1.32--datagrid(数据表格)
前言 此前网上有easyui1.25的源码 应该算是比较老的版本 之后又经历了1.26 . 1.3. 1.31. 1.32 .1.33.1.34 1.33开始支持css3 算是又一个转折 但是 ...
- centos更新163源并升级内核
使用说明 首先备份/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/Cen ...
- PHP 如何阻止用户上传成人照片或者裸照
在这份教程中,我们将会学习到如何阻止用户通过PHP上传成人照片或者裸照. 示例 下载 我在phpclasses.org上面偶然发现一个很有用的,由Bakr Alsharif开发的可以帮助开发者基于 ...
- 【ZOJ】3609 Modular Inverse
1. 题目描述求乘法逆元. 2. 基本思路利用扩展gcd求逆元,模板题目. 3. 代码 /* 3609 */ #include <iostream> #include <sstrea ...
- ORACLE-修改当前会话的语言环境
修改当前会话的语言环境变量参数:ALTER SESSION SET =将语言改为英语: SQL> ALTER SESSION SET NLS_LANGUAGE='AMERICAN';SESSIO ...
- js构造函数式编程
1.函数式编程 //创建和初始化地图函数: function initMap(){ createMap();//创建地图 setMapEvent();//设置地图事件 addMapControl(); ...
- MYI 文件内容
参考 http://blog.itpub.net/703656/viewspace-1018470/ 创建表结构 create table test(name char(20), age int, c ...
- Java内省
什么是内省? Java语言对bean类属性.事件的一种缺省处理方法,例如类A中有属性name,那我们可以通过getName,setName来得到其值或者设置新的值. 什么是JavaBean? Java ...
- [swustoj 917] K-lucky-number
K-lucky-number(0917) 问题描述 K-lucky-number is defined as add up the number of each bit is a multiple o ...