IO流 : 作用 :用于设备和设备之间的数据传输。
File类的使用 :操作问价的属性
IO流:用来操作文件的数据。
IO流的分类:
流按照操作数据的类型分为两种: 字节流 ,字符流
字节流 : 读取的是文件的二进制数据,不会对二进制做处理。不会解析成比看得懂的数据。
字符流 :读取的也是二进制数据,他会将二进制数据转化为我们能过识别的字符(解码)。 字符流是以字符单位的。
字符流 = 字节流 + 解码。
流按照流的方向: 输入流和输出流。
判断流是输出还是输入: 以当期的应用程序为参考 ,观察数据是流入还是流出,如果是流入就输入流 ,如果是流出就是输出流。
字节流:
先来看字节输入流:
InputStream :此抽象类是表示字节输入流的所有类的超类 ,抽象的类
如何判断一个流值字节输入流 :
判断一下他的类名是否以InputStream结尾。
使用 FileInputStream: 是InputStream的子类
FileInputStream使用步骤:
1.找到目标文件 : 注意流操作的是文件 你以后看到: NotFoundFileException:file路径可能出现了问题
2.建立通道
3.创建通道
4.读取数据
5.关闭资源: 一个资源不仅仅是你一个人在操作,其他人也会操作,如果没有挂壁资源,其他人就无法运行
字节输出流:
OutPutStream : 他也是所有字节输出流的超类 ,也是一个抽象的类 ,使用子类
-----FileOutputStream 文件输出流
FileOutputStream 的使用步骤:
1.找到目标文件
2.建立通道
3.写入数据
4.关闭资源
关闭流的原则: 先开后关 , 后开的先关
FileOutputStream的使用注意事项:
1.使用FileOutputStream写数据的时候,如果目标文件不存在,那么就会自己创建一个目标文件对象。
2.使用FileOutputStream写数据的时候,如果目标文件存在,先将里面的数据清空,在写入数据。
3.使用FileOutputStream写数据的时候,如果目标文件存在,想将数据在原有的基础上追加,这个
时候就应该使用FileOutputStream(File file, boolean append) 构造方法, append如果为true表示
可以追加数据,反之不信。
4..使用FileOutputStream写数据的时候,用write(int a)方法写数据,虽然接收的是int ,但实际上只有一个字节的数据,
操作的是低八位的二进制 ,其他的24位全部丢掉。