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

//当敌人子弹击中我的时候,死亡
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]

 
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



















原文地址:https://www.cnblogs.com/xuxaut-558/p/10045763.html