IO流实现模拟软件试用的功能

时间:2022-12-16 03:12:45
 import java.io.*;

 public class TryOut {

     /**
* IO流模拟软件试用次数的功能
* 这里注意try里BufferedOutputStream不要和InputStream放在同一个try里,因为写入的时候他默认会清空原文件的值
*
* @param args
*/
public static void main(String[] args) {
try (
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("config.txt"))
) {
int temp = bis.read();
int count = temp ^ 66;
if (count > 0 && count <= 3) {
count--;
System.out.println("您的试用次数还剩" + count + "次");
BufferedOutputStream bos = null;
try {
bos = new BufferedOutputStream(new FileOutputStream("config.txt"));
bos.write(count ^ 66);
bos.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} else {
System.out.println("您的试用次数已用尽,请购买正版使用!");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} /**
* 初始试用次数方法
*/
public static void code() {
try (
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("config.txt"))
) {
bos.write(3 ^ 66);
bos.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

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