java 软件免费使用次数到后注册

2014-11-24 07:40:15 · 作者: · 浏览: 0
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;

/*
 * 模仿收费软件免费使用次数后不能使用
 * 
 * 如果定义一个计数器,在软件运行时计数,
 * 是不现实的,因为计数器变量随着软件的运行而存在,
 * 随着软件的运行结束而消失,是内存中的。
 * 所以要建立一个配置文件,来记录软件运行的次数
 */
public class RegistrationDemo {

	public static void main(String[] args) {
		// 建立能加载配置文件的属性的持久化对象
		Properties prop = new Properties();

		// 建立存放配置信息的文件的对象
		File file = new File("config.ini");
		// 建立一个输入流,准备读取配置文件的信息
		FileReader fr = null;
		try {
			// 如果该配置文件不存在,创建
			if (!file.exists())
				file.createNewFile();
			// 将读取流关联到配置文件
			fr = new FileReader(file);
			// 通过读取流将配置文件的信息加载到Properties集合中
			prop.load(fr);
			/*
			 * 定义一个用来存放程序使用次数的变量 
			 * 因为Properties集合中存放的都是字符串, 
			 * 但是计算次数是要int的,因为每使用一次+1
			 */
			int count = 0;

			String value = prop.getProperty("time");
			// 第一次的时候为null,因为文件是新创建的
			if (value != null) {
				count = Integer.parseInt(value);
				// 如果次数大于等于5就不再让用了
				if (count >
= 5) { System.out.println("免费使用次数到了,请购买"); return; } } // 存在次数+1,不存在由0+1 count++; // 然后要把属性修改 prop.setProperty("time", count + ""); // 最后千万别忘记写回文件,光修改是写不回文件的 FileWriter fw = new FileWriter(file); prop.store(fw, "use count"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e1) { e1.printStackTrace(); } /* * 。。。。。后面这些才是程序正真运行的 内容,上面是判断是否可以运行 */ } } /* * 早期的软件都是这样的, * 免费使用删除配置文件就又能用了, * 所以后的人会把配置文件放在system32目录下 */