初始I/O
I/O体系结构
字节流
FileOutputStream使用
原理
写入细节
key01:
关于使用write覆盖问题,同一个File不会覆盖。当调用close关闭,再次打开相同的路径下File才会覆盖。覆盖和续写不太一样,需要注意区分
FileInputStream使用
原理-----同上,但是相反
使用细节
key01:
这个末位为空位-1,使用挺多,判断文件是否读取完毕
key02:循环读取---记得定义第三方变量,否则会造成跳读
文件拷贝
key01:
第一次:byte=a,b。 len=2
第二次:byte=c,d。 len=2
第三次:byte=e,d。 len=1(但是要尽可能装满,所以e覆盖c,d元素保留)
key02:(优化)从byte数组0号索引开始len长度读取
字符流
key01:中文?3字节,英文?1字节
原理
key01:当读取数据没有超过8192字节,则会将其放入缓冲区,但是当读取数据超过8192字节,新读取的数据将会覆盖缓冲区的数据
key02:当写入数据,也会创建一个缓冲区,当缓冲区满自动每次将缓冲区8192字节数据写入。也可以通过调入flush和close手动将缓冲区剩余数据写入文件
使用场景
缓冲流
key01:
创建小细节,随时用随时创建,不用就关闭
转换流
序列化流/反序列化流
先写后读
打印流
小练习
test01(爬取姓名):
key01:(类型转换)
key02:(边界确定)