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