编程练习(软件试用次数)
实现一个如下的软件小功能:
记录软件运行的次数并在每次运行时提示已经运行的次数。如果运行次数大于5次,软件不再运行并给出提示:试用次数已到,请注册!

本代码只简单的介绍了软件的使用次数如何限定,很容易让人破解。
如果想让人难以破解,则自己加入算法,或者分开存储关键数据,
在运行时比对数据等等、、、

package cn.hncu.property;import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;public class TimesTried {public static void main(String[] args) throws IOException {if(countDemo()){//进入软件的相应模块}else{System.out.println("试用次数已到,请进行注册!");}}private static boolean countDemo() throws IOException {Properties p = new Properties();int count =0;//配置文件File configFile = new File("config.chx");if(!configFile.exists()){configFile.createNewFile();}FileInputStream fin = new FileInputStream(configFile);//下面的一句为错误的演示,已注释//FileOutputStream fout = new FileOutputStream(configFile);//FileOutputStream对象一new出来就会创建一个新文件,自然就覆盖旧的文件数据了。//因此程序每次运行到这里都会产生新文件//把配置文件中的信息读入p对象当中p.load(fin);//从p对象当中读取数据---软件试用次数String value = p.getProperty("count");if(value!=null){count = Integer.parseInt(value);if(count>=5){return false;}}count++;System.out.println("运行"+count+"次");//把当前使用的次数存储到配置文件当中p.setProperty("count", ""+count);//也可以使用这句//p.setProperty("count",String.valueOf(count));FileOutputStream fout = new FileOutputStream(configFile);p.store(fout, null);fin.close();fout.close();return true;}}

Java---软件试用次数(Properties类的简单使用)相关推荐

  1. java mybatis enum_mybatis处理枚举类的简单方法

    mybatis自带对枚举的处理类 org.apache.ibatis.type.EnumOrdinalTypeHandler :该类实现了枚举类型和Integer类型的相互转换. 但是给转换仅仅是将对 ...

  2. java软件开发 jpanel_java图像界面开发简单实例-JPanel应用 | 学步园

    importjava.awt.Graphics;importjavax.swing.JFrame;importjavax.swing.JPanel;/*** 扩展于JPanel的类,重写paintCo ...

  3. [Java基础] Properties类的基本操作和介绍

    引言 Java中的.properties文件是一种配置文件,主要用于表达配置信息:通俗来说,存放的数据就像是Map中的key和value的对应关系一样:这样就可以通过键值对来对属性进行匹配,并且属性列 ...

  4. Java基础——Properties类

    目录 1.Properties类的概述 2.Properties类方法 3.Properties类的实例 本文章的部分笔记整理来自https://www.runoob.com/java/java-pr ...

  5. Properties类和properties文件的简单总结

    目录 一.properties文件 二.Properties类 1. Properties类的理解 2. 常用方法Properties类 (1) 存储键值对 (2) 通过key获取对应的value ( ...

  6. Properties类读写配置文件

    Properties类读写简单配置文件相当的方便,以前竟然没注意到这个类. FileInputStream fs = new FileInputStream("config.ini" ...

  7. Java IO流中 File文件对象与Properties类(四)

    File类 用来将文件或目录封装成对象 方便对文件或目录信息进行处理 File对象可以作为参数传递给流进行操作 File类常用方法 创建 boolean createNewFile():创建新文件,如 ...

  8. Java Properties 类

    Properties 继承于 Hashtable.表示一个持久的属性集.属性列表中每个键及其对应值都是一个字符串. Properties 类被许多Java类使用.例如,在获取环境变量时它就作为Syst ...

  9. Java Properties 类读取配置文件信息

    在我们平时写程序的时候,有些参数是经常改变的,而这种改变不是我们预知的.比如说我们开发了一个操作数据库的模块,在开发的时候我们连接本地的数据库那么 IP ,数据库名称,表名称,数据库主机等信息是我们本 ...

最新文章

  1. OracleHelper类
  2. 如何从Amazon API Gateway将查询字符串或路由参数传递到AWS Lambda
  3. python实现手机通讯录_python+uiautomator2实现需求:从通讯录添加手机号码作为SOS紧急号码...
  4. IronPython项目有了新负责人
  5. java 匿名对象有引用,封闭对象的引用通过匿名类java进行转义
  6. 前端学习(2706):重读vue电商网站26之JSON格式的配置文件
  7. (11)System Verilog对象复制
  8. Leetcode每日一题:34find-first-and-last-position-of-element-in-sorted-array(排序数组中查找某元素的两端位置)
  9. 移除PDF文件打开密码
  10. Pyrene-PEG2000-RB,含有芘丁酸和罗丹明的PEG,Rhodamine-PEG2000-Pyrene
  11. golang base64解码碰到的坑
  12. 建站系列:有云服务器和域名怎么建设网站?
  13. 为什么if else过多会影响程序性能?(英文版)
  14. golang 数组组合成最小的整数_整数数组拼成一个最小或最大的数
  15. 深度 | AI芯片之智能边缘计算的崛起——实时语言翻译、图像识别、AI视频监控、无人车这些都需要终端具有较强的计算能力,从而AI芯片发展起来是必然,同时5G网络也是必然...
  16. 如何查看服务器内存信息,如何查看服务器内存信息
  17. 内涵段子被永久关停;抖音上线反沉迷系统;苹果推红色版iPhone 8丨价值早报
  18. Linux内核读文件处理过程浅析
  19. 原生js实现滑块拖动功能
  20. [转帖]详细讲解六大QQ病毒的特征以及清除方法

热门文章

  1. 计算机xp系统自带录制视频文件,怎样使用WinXp系统自带录音机录制视频对白【图文教程】...
  2. error: failed to push some refs to ‘https://github.com/bodokaiser/piwise.git‘
  3. java eps_用java在eps文件中添加元数据
  4. 将cityscapes数据集Mask二值图像变为彩色图像
  5. post请求下载文件(兼容IE)
  6. 七夕打算如何向女神表白?这5个表白神器让你俘获女神的心!
  7. 用Unity解压缩文件
  8. 设置、修改、重设mysql root密码
  9. pgsql中的常用函数总结
  10. 秋纳、例会、世界区块链大会:浙大区块链协会 Q4 Update