一Java小白努力钻研花样繁多的文件读写操作——终于搞好啦(*^▽^*)

多说无益,直接上代码吧:

import java.io.*;
import java.util.Scanner;public class Hello {public static void main(String[] args) throws IOException {// 读取当前数据// 打开存档文件FileInputStream fis = new FileInputStream("C:\\ProgramData\\PopCap Games\\PlantsVsZombies\\userdata\\user1.dat");int[] off = { -1, 0x04, 0x09, 0x08, 0x304, 0x0C}; // 测试得到的偏移量int read = 0;int[] reading = {0,0,0,0,0};for (int i = 1; i <= 5; i++) {fis.skip(off[i] - off[i-1] - 1);read = fis.read();reading[i - 1] = read;System.out.println(read);}fis.close();fis = new FileInputStream("C:\\ProgramData\\PopCap Games\\PlantsVsZombies\\userdata\\user1.dat");byte[] b = new byte[1024];fis.read(b);fis.close();// 用户输入Scanner scan = new Scanner(System.in);int input = 0;while (true) {System.out.printf("菜单:\r\n");System.out.printf("1.当前关卡:%d\r\n2.当前金钱:%d\r\n3.解谜模式:%d\r\n4.无尽模式:%d\r\n",reading[0], 10*(256*reading[1]+reading[2]), reading[3], reading[4]);System.out.printf("输入你要修改的选项(输入0以退出):\r\n");input = scan.nextInt();System.out.flush();if (input >= 1 && input <= 4) {System.out.printf("请输入你的目标数据:\r\n");int temp = scan.nextInt();if (input == 1) reading[0] = temp;else if (input >= 3) reading[input] = temp;else {reading[1] = temp / 10 / 256;reading[2] = temp / 10 % 256;}}else if (input == 0) {break;}else {System.out.printf("无效参数!请重新输入.\r\n");continue;}}scan.close();// 写入修改后的数据FileOutputStream fos = new FileOutputStream("C:\\ProgramData\\PopCap Games\\PlantsVsZombies\\userdata\\user1.dat");for (int i = 1; i <= 5; i++) {b[off[i]] = (byte) reading[i - 1];}fos.write(b);fos.close();}
}

跑出来长这样:

菜单:
1.当前关卡:41
2.当前金钱:5120
3.解谜模式:1
4.无尽模式:1
输入你要修改的选项(输入0以退出):
1
请输入你的目标数据:
45
菜单:
1.当前关卡:45
2.当前金钱:5120
3.解谜模式:1
4.无尽模式:1
输入你要修改的选项(输入0以退出):
2
请输入你的目标数据:
10240
菜单:
1.当前关卡:45
2.当前金钱:10240
3.解谜模式:1
4.无尽模式:1
输入你要修改的选项(输入0以退出):
3
请输入你的目标数据:
1
菜单:
1.当前关卡:45
2.当前金钱:10240
3.解谜模式:1
4.无尽模式:1
输入你要修改的选项(输入0以退出):
4
请输入你的目标数据:
0
菜单:
1.当前关卡:45
2.当前金钱:10240
3.解谜模式:1
4.无尽模式:0
输入你要修改的选项(输入0以退出):
0进程已结束,退出代码为 0

之前还在想怎么删除文件,后面发现只需要改一下FileOutputStream的append参数就可以了——默认为false就够用~

看看效果:

END

参考资料:

java删除文件目录及文件_Java删除文件,目录_从零开始的教程世界-CSDN博客

java 标准输入System.in_gt.liu的博客-CSDN博客

java如何指定起始位置和读取长度读取InputStream - OSCHINA - 中文开源技术交流社区

java:system根据输入的内容,然后输出(字节流) - 穆晟铭 - 博客园

植物大战僵尸修改器 - 简易版相关推荐

  1. Qt|C/C++植物大战僵尸修改器(用户版)

    此教程原理基于基础版,请阅读此篇教程的同学请先阅读基础版 链接如下:http://blog.csdn.net/qq78442761/article/details/54670630 用户版思路: 在基 ...

  2. 汉化版植物大战僵尸修改器

    1,自己用c#调用api写了一个植物大战僵尸修改器: 2,可以修改阳光值,金钱,花肥,杀虫剂,树肥,巧克力等属性: 3,自动拾取(冒险模式有效),无等待建造: 4,可以选择不同模式的跳关: 5,僵尸游 ...

  3. VB版 植物大战僵尸修改器

    植物大战僵尸这个小游戏做的还真不错,我看到了几个版本的植物大战僵尸修改器,如C++版,C#版,所以就改写了一个VB版本的,以下是源码 '界面中有两个按钮,分别是cmdSunUnlimited(capt ...

  4. 植物大战僵尸 php,植物大战僵尸修改器使用方法 PHP __autoload函数(自动载入类文件)的使用方法...

    这也是OO设计的基本思想之一.在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可.下面是一个实际的例子: 复制代码 代码如下: class ClassA{ ...

  5. win10玩cf不能全屏_一些全屏游戏在Win10运行问题的解决(以植物大战僵尸+修改器为例)...

    <植物大战僵尸>是一款十分经典的游戏,由PopCap Games开发的一款益智策略类单机游戏,于2009年5月5日发售. 问题解决 WindowsRegistryEditorVersion ...

  6. python植物大战僵尸辅助器手机版_GitHub又放大招,Python版本的植物大战僵尸还能作弊玩!...

    <植物大战僵尸>游戏它是一款极富策略性的小游戏,集成了即时战略.塔防御战和卡片收集等要素,玩家控制植物抵御僵尸的进攻,保护这片植物园.记得小编刚工作的时候抱着IPAD经常玩到深夜. 最近在 ...

  7. **C1-1任务解析**——植物大战僵尸-修改游戏进度和金币(用户存档文件)

    C1-1任务解析 植物大战僵尸-修改游戏进度和金币(用户存档文件) 一.软件安装准备 1.植物大战僵尸安装包 https://pan.baidu.com/s/1jEhpBlotLbUeCKTWJfOh ...

  8. Android版本自带游戏,植物大战僵尸自带花园版

    植物大战僵尸自带花园版是一款经典射击休闲类手机游戏,植物大战僵尸保持原版玩法的基础上进行创新和升级,玩家可重温经典植物大战僵尸玩法,游戏极其考验玩家的策略和智慧,打败不断来犯的僵尸,体验游戏带来的无限 ...

  9. 头条视频 消重 滤镜 视频md5修改器手机版

             头条视频 消重 滤镜 视频md5修改器手机版          直播打赏:很多男性角色依靠直播及带领粉丝玩游戏获取收益.,如今,短视频内容已成为继纯文字内容.图文内容之后的第三次大众 ...

  10. 抖音视频如何伪原创 视频md5修改器安卓版下载

             抖音视频如何伪原创 视频md5修改器安卓版下载          毋庸置疑的是,技术也是一把双刃剑,大荧幕上无数的科幻作品中都多多少少会表露此方面的担忧.               ...

最新文章

  1. 微信小程序客服实现自动回复图文消息链接,点击去关注公众号
  2. python表示复数的语句是_在python中复数如何表示
  3. unity3d Vector3.Lerp解析
  4. Zynq调试和测试子系统
  5. 数据可视化,带给你的惊艳并不止这一点!
  6. 查询两个日期间隔天数怎么算_大厂都是怎么用Java8代替SimpleDateFormat?
  7. LOAD DATA INFILE 语法
  8. 北京科技大学计算机作业,北京科技大学计算机题
  9. php myadmin 安装
  10. 记录一次破解移动吉比特光猫H2-2超管密码的过程
  11. 了解89C51单片机
  12. ubuntu安装ROS运行rosdep init错误,cannot download default sources list from....
  13. 如何实现异地远程登录计算机,两台异地电脑怎么实现远程控制
  14. 不懂Shopee站点分析,入驻Shopee平台哪个站点?
  15. python死循环_Python for死循环
  16. 微信小程序怎么用?小程序有什么用?之501~600
  17. CentOS7修改Locale为zh_CN.UTF-8
  18. 春节期间,“熊小孩”闯祸要赔偿怎么办?
  19. VirtualBox中虚拟机的克隆方法
  20. C++ 中scanf的返回值

热门文章

  1. c语言中max的用法
  2. 如何解决DNS解析错误
  3. 如何查看手机上已连接 WIFI 的密码
  4. html ol标签用罗马数字,HTML重点标签总结
  5. 常见路由器默认用户名和密码
  6. kali破解wifi 密码(仅供学习)
  7. 本人面试两个月真实经历:面试了20家大厂之后,发现这样介绍项目经验,显得项目很牛逼!
  8. 关于野火mini led的学习
  9. Python 字符串 .format 方法详解
  10. python langid 语种检测以及语种对应表