//当敌人子弹击中我的时候,死亡
this.hitEnemyTank( );
//每一个敌人的坦克击中我
//我的坦克被击中,爆炸,消失
//当敌人互相有碰撞的时候,不能往前面走了
矩形的任何一点不能在另外一个矩形里面
最右边的线不能到另一边;像一堵墙;
-------------------------------------------------------

IO编程(文件编程)
暂停存盘退出:
继续玩耍:
文件流:
通过文件/数据库来解决:
红色的表示一个文件:把游戏的相关数据保存在文件上面
内存/文件的相互保存,读取;
内存做为参考点;判断输入或者输出;
java io流:
字节:以byte的方式;
视频/音频文件-字节流;
字符流不能操作二进制文件;
做的好的播放软件直接读取文件的信息头,后缀就是骗人的
TXT也可能是被木马包装过的病毒文件;
文件对象:File               最基础最根本的类;
----------------------------------------

文件--什么是文件

文件,对我们并不陌生,文件是数据源(保存数据的地方)的一种,比如大家经常使用的word文档、txt文件、excel文件...都是文件。文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保存视频、声音...等

文件流--基本概念

文件在程序中是以流的形式来操作的。

流:数据在数据源(文件)和程序(内存)之间经历的路径

输入流:数据从数据源(文件)到程序(内存)的路径

输出流:数据从程序(内存)到数据源(文件)的路径

如何判断是输入流、输出流?

以内存为参照,如果数据流向内存流动,则是输入流;

反之,则是输出流

java流分为两种流

1、字节流:可以用于读写二进制文件及任何类型文件byte

2、字符流:可以用于读写文本文件,不能操作二进制文件

        字节流         字符流

输入   InputStream         Reader

输出   OutputStream         Writer

常用io流--文件对象

目的:文件数据源File类介绍(文件流对象中最为重要的File类,对File了解后对子类理解会更加容易)

大小22字节;占用空间4KB
4KB是操作系统的最小分配空间;
能用完就用,用不完下一步就分配8KB;

操作系统对磁盘的分配:
磁道和块;
很有可能通过引用指针连接,出现磁盘碎片;
碎片越多,寻道时间越长;
可以通过缓存来处理,写入缓存再一次性写入磁盘
-电驴,迅雷
//创建文件
密码:
xm@100~cqw
重要资料备份

在操作系统看,文件/文件夹都是文件;
文件夹 只是另一种形式的文件;
\\或者/ 这两种写法都可以;

//把文件内容读到内存---字节流
File没有读写能力,需要InputStream流
文件流打开之后,一定要关闭;
read 读,读就是读到内存里面去read---byte( );
read之后,字节转换成string
一旦等于-1,说明读完,n代表实际读取了多少个字节数;
n代表实际读取了多少个字节数;
把从0到n的位置的数做成字符串进行输出;
程序员最大的忌讳:
文件流没有关闭-finally

File类--使用[Io01.java]

/** * File类的基本用法 */ import java.io.*;//必需加载IO包 public class Io01 { public static void main(String[] args) { //创建一个文件对象 File f1=new File("e:\\aa.txt"); //得到文件的路径 System.out.println("文件路径"+f1.getAbsolutePath()); //得到文件的大小,字节数 System.out.println("文件的大小"+f1.length()); //创建文件夹 File f3=new File("e:\\ff"); //判断文件夹是否存在 if(f3.isDirectory()){ System.out.println("文件夹存在,不能创建!"); }else{ //创建文件夹 f3.mkdir(); } //创建文件和创建文件夹 File f2=new File("e:\\ff\\hsp.txt"); //判断文件是否存在 if(!f2.exists()){ //可以创建 try { f2.createNewFile();//创建一个新文件 } catch (Exception e) { e.printStackTrace(); } }else{ System.out.println("文件存在,不能创建!"); } //列出一个文件夹下面的所有文件 File f4=new File("e:\\ff"); //判断文件夹是事存在 if(f4.isDirectory()){ //将文件夹的文件,传给lists数组 File lists[]=f4.listFiles(); //遍历数组 for(int i=0;i<lists.length;i++){ //输出文件夹下所有文件文件名 System.out.println("显示出文件名是"+lists[i].getName()); } } } }

1
/**

2
 * File类的基本用法

3
 */

4
import java.io.*;//必需加载IO包

5
public class Io01 {

6
    public static void main(String[] args) {

7
        //创建一个文件对象

8
        File f1=new File("e:\\aa.txt");

9
        //得到文件的路径

10
        System.out.println("文件路径"+f1.getAbsolutePath());

11
        //得到文件的大小,字节数

12
        System.out.println("文件的大小"+f1.length());

13
        

14
        //创建文件夹

15
        File f3=new File("e:\\ff");

16
        //判断文件夹是否存在

17
        if(f3.isDirectory()){

18
            System.out.println("文件夹存在,不能创建!");

19
        }else{

20
            //创建文件夹

21
            f3.mkdir();

22
        }

23
24
        //创建文件和创建文件夹

25
        File f2=new File("e:\\ff\\hsp.txt");

26
        //判断文件是否存在

27
        if(!f2.exists()){

28
            //可以创建

29
            try {

30
                f2.createNewFile();//创建一个新文件

31
            } catch (Exception e) {

32
                e.printStackTrace();

33
            }

34
            

35
        }else{

36
            System.out.println("文件存在,不能创建!");

37
        }

38
        

39
        //列出一个文件夹下面的所有文件

40
        File f4=new File("e:\\ff");

41
        //判断文件夹是事存在

42
        if(f4.isDirectory()){

43
            //将文件夹的文件,传给lists数组

44
            File lists[]=f4.listFiles();

45
            //遍历数组

46
            for(int i=0;i<lists.length;i++){

47
                //输出文件夹下所有文件文件名

48
                System.out.println("显示出文件名是"+lists[i].getName());

49
            }

50
        }

51
    }

52
}

53

来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/xuxaut-558/p/10045763.html

JAVA入门到精通-第43讲-IO编程-坦克大战10相关推荐

  1. JAVA入门到精通-第32讲-swing编程实战

    JBorderLayout,左边是JList,拆分窗格: 图片是放在JLabel上的,图片的地址写好就行: 在相关项目下面建立一个文件夹Folder,放置图片:或者复制粘贴: 拆分:水平拆分?垂直拆分 ...

  2. JAVA入门到精通-第94讲-山寨QQ项目8-好友在线提示

    遇到的问题: 现在每登录一个人,后面的人是能看到前面的登录的人的: 但是,前面的人看不到后面的人登录: //后面每登录一个人,有责任去通知前面登录的人他已经上线了: 通知了完以后,需要更改好友在线的情 ...

  3. JAVA入门到精通-第7讲-成员方法-构造方法

    方法的声明没有函数体: void 不需要return; 其他的如int 是需要return的: 2.3默认是double类型的,把double的数强行传给float类型的: 转置:横坐标和纵坐标转换: ...

  4. JAVA入门到精通-第73讲-学生管理系统5-dao.sqlhelper

    -Model2模式 如果数据模型会很多,怎么办? 处理业务逻辑的:Model层 后台又分为:处理业务逻辑和对数据库的操作DAO-data access object -决定,再抽象一层出来:数据模型: ...

  5. JAVA入门到精通-第71讲-学生管理系统3-增删改查

    模式的概念(mv): 提高系统的可读性.可维护性.效率:  --------------------- 添加.修改.删除 //添加的界面做好了 //对添加的按钮做个响应,直接操作数据库: //完全可以 ...

  6. JAVA入门到精通-第16讲-数组

      数组的必要性: 数组从0开始编号,arr[0]:习惯从0开始:比如外国人建地下室:  错误:数组越界:  ArrayIndexOutofBoundsException:5  arr.length, ...

  7. JAVA入门到精通-第64讲-sql server备份恢复

    邮件服务器备份: c 创建  查询  更新  删除  /  增删改查: 分离:把数据库aaa暂时离开数据库,可以分离,附加到另外地方去: .mdf  和  .ldf 这两个文件 所有任务---分离数据 ...

  8. JAVA入门到精通-第6讲-成员属性-成员方法

    b.age=10; 它是根据age和name所占的数据类型还划分空间的: b没有赋值,孤零零地放在那; b=a: 让b也指向a所指向的空间,实际上是一个引用: 再次证明,其实指向的是同一块空间:引用传 ...

  9. JAVA入门到精通-第38讲-线程-坦克大战6

    应用程序在内存中开辟空间-进程: 内存-大脑容量: 反应切换的速度-CPU: 试图去尝试别的进程的地址空间---病毒: 线程是由进程(应用程序)创建的: 涉及到并发,就会涉及到线程:迅雷下载: 线程不 ...

最新文章

  1. MySQL安装步骤及相关问题解决
  2. 软考已报名可以更改科目吗
  3. 面试让你手撕红黑树?30张图带你彻底理解红黑树~
  4. linux vim自动执行快捷键,Linux Vim快捷键操作命令整理
  5. 【干货】10000个抖音短视频红人通讯录.pdf(附下载链接)
  6. 跳过授权列表--skip-grant-list--案例
  7. 如何在官网下载scala
  8. windows 7 静默 安装 软件
  9. 黑群晖 7.0 安装
  10. Win10新电脑里的设备和驱动器下如何分盘
  11. C语言虚词怎么在程序里表示,文言虚词用法推断
  12. 杭电计网实验15 ACL网络访问控制 (球球、球球,可以点个赞吗)
  13. 3DMAX的vray自发光材质为什么渲出来是黑的?
  14. 【数据结构】图(最短路径Dijkstra算法)的JAVA代码实现
  15. 淘晶驰芯片AIHMI简介
  16. C++游戏——小胎大乱斗
  17. Microsoft Visio 2010 安装失败 安装界面闪退
  18. MySQL 数据库之实现热备份
  19. ROS使用介绍——rosbag
  20. 重塑科技燃料电池试验检测中心获CNAS认可评审,综合实力备受认可

热门文章

  1. Fiddler的常用功能(Web断点调试)
  2. 儿童游戏html5,节日H5丨提前了解下,比小猪佩奇更社会的儿童节H5游戏
  3. linux 自启动程序 优先级,Linux自启动服务优先级/顺序设置
  4. 文字居中 qt_Qt编写自定义控件11-设备防区按钮控件
  5. 计算机配置里面没有网络选项,主编教您win10网络设置中没有wlan选项怎么办
  6. 【NLP】经典分类模型朴素贝叶斯解读
  7. 速卖通代运营靠谱吗?招人做对比代运营,找代运营经验分享
  8. 生物类似药产业发展策略及项目投资建设报告2021-2027年
  9. mysql 经纬度距离 自定义函数_mysql 经纬度计算距离 自定义函数
  10. 第一个python命令