IO流
IO:存储和读取数据的解决方案



FileOutputStream


创建细节:
- 参数是字符串表示的路径 或者File对象都是可以的
- 如果文件不存在会创建一个新的文件,但是要保证父级目录路径是存在的
- 如果文件已经存在,则会清空文件
写数据细节:
- write方法的参数是整数,但是实际上写道本地文件中的是整数在ASCLL上对应的字符
释放资源细节:
- 每次使用完后都要释放资源

一次生成多个字符
换行写

续写



读取文件里面的数据
字节流读取中文会出现乱码
int b1 = fis.read():
System.outprintln((char)b1);
//不强转(char)结果为Ascll编码
//没有数据时,结果为-1

文件拷贝

快速拷贝

try···catch异常处理



字符集


编码和解码




FileReader




空参的read方法
带参的read方法

练习1
拷贝一个文件夹,考虑子文件夹


练习2
文件加密

IO流


缓冲流





字节缓冲提高效率的原理

字符缓冲流BufferedWriter


字符缓冲输入流

字符缓冲输出流

如果修改bw.write里面的值将覆盖掉之前写入的
如果你不想干让他清空,则必须开启续写功能(续写是FileWriter的功能)
练习:免费试用三次

输出流在关联文件的时候,如果文件存在就会清空
IO流创建原则:
随用随创建,什么时候不用什么时候关闭
转换流

将字符编码为其他的文件输出到屏幕




转换流小结

序列化流/对象操作输出流
输出数据

可以将java中的对象写到本地文件中
Serialable接口里面没有抽象方法,标记性接口
一旦实现了这个接口,那么就表示当前的Student类可以被序列化
理解:一个物品的合格证

反序列化流


tips:如果你不想把某一个方法序列到本地文件当中使用
transient:瞬态关键字
作用:不会将当前属性序列化到本地文件当中
序列化/反序列化细节汇总



打印流


字节打印流

字符打印流



解压缩流/压缩流



压缩流

压缩单个文件

压缩整个文件夹



浙公网安备 33010602011771号