博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IO流实现模拟软件试用的功能
阅读量:7261 次
发布时间:2019-06-29

本文共 1802 字,大约阅读时间需要 6 分钟。

1 import java.io.*; 2  3 public class TryOut { 4  5     /** 6      * IO流模拟软件试用次数的功能 7      * 这里注意try里BufferedOutputStream不要和InputStream放在同一个try里,因为写入的时候他默认会清空原文件的值 8      * 9      * @param args10      */11     public static void main(String[] args) {12         try (13                 BufferedInputStream bis = new BufferedInputStream(new FileInputStream("config.txt"))14         ) {15             int temp = bis.read();16             int count = temp ^ 66;17             if (count > 0 && count <= 3) {18                 count--;19                 System.out.println("您的试用次数还剩" + count + "次");20                 BufferedOutputStream bos = null;21                 try {22                     bos = new BufferedOutputStream(new FileOutputStream("config.txt"));23                     bos.write(count ^ 66);24                     bos.flush();25                 } catch (FileNotFoundException e) {26                     e.printStackTrace();27                 }28             } else {29                 System.out.println("您的试用次数已用尽,请购买正版使用!");30             }31         } catch (FileNotFoundException e) {32             e.printStackTrace();33         } catch (IOException e) {34             e.printStackTrace();35         }36     }37 38     /**39      * 初始试用次数方法40      */41     public static void code() {42         try (43                 BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("config.txt"))44         ) {45             bos.write(3 ^ 66);46             bos.flush();47         } catch (FileNotFoundException e) {48             e.printStackTrace();49         } catch (IOException e) {50             e.printStackTrace();51         }52     }53 }

大致思路就是把试用次数加密写入到一个txt里,然后通过读取这个txt来让count自减,直到count为0的时候也就代表试用次数用尽了.

转载于:https://www.cnblogs.com/xiaowangtongxue/p/10717130.html

你可能感兴趣的文章
初试Spring Boot:构建第一个Web程序
查看>>
Maven安装与使用
查看>>
git 简易使用说明
查看>>
滴滴出行基于RocketMQ构建企业级消息队列服务的实践
查看>>
solr6.6教程-基础环境搭建(一)
查看>>
杨老师课堂_Java教程第五篇之函数运用
查看>>
全球区块链游戏行业研究报告——BB财经
查看>>
Confluence 6 为翻译显示用户界面的键(Key)名称
查看>>
Mozilla Firefox 67.0 Beta 8 (Quantum) 发布
查看>>
重拾Java(1)-基本数据类型与字面值
查看>>
Confluence 6 配置 Office 转换器
查看>>
大型分布式C++框架《四:netio之请求包中转站 上》
查看>>
一文带你了解 Faster R-CNN
查看>>
聊聊数据库事务的四特性(ACID)
查看>>
07.源码阅读(ClassLoader类的加载机制)
查看>>
Confluence 6 SQL Server 输入你的数据库细节
查看>>
正则表达式
查看>>
深入Android消息机制
查看>>
rds 签名机制事例及补充说明
查看>>
第十七章:掌握网格(七)
查看>>