Io流总结

匿名 (未验证) 提交于 2019-12-02 23:42:01

分类

功能流(经过包装)

close()方法需要后接入的先关闭

字节流(万能流)

FileInputStream文件输入流

从文件中获取输入字节

构造器

输出int表示读入字节个数,若无返回-1

通过byte数组对数据进行操作

byte数组的长度通常设置为1024的倍数

read(byte[ ] b, 选择读取位置和长度

FileOutputStream文件输出流

boolean append) 是否接续写入

(会自动创建文件,但不会自动创建父文件夹)

byte数组的长度一般设为1024的倍数

刷新,继承自父类

复制文件夹

字符流

字符输入流

Rader(抽象父类)->InputStreamReader->FileReader(文件字符输入流)

字符输出流

Writer(抽象父类)-> OutputStreamWriter->FileWriter(文件字符输出流)

FileWriter

boolean append)

是否采用接续写入 不影响本次输入

写入字符数组

刷新,继承自父类

结构步骤

缓冲流

用于增强传输功能和效率

1字节缓冲流(无重新改写方法)

直接嵌套在字节流外部,方法继承了父类

父类引用=new BufferedInputStream(new FileInputStream(File对象|Stream地址))

父类引用=new BufferedOutputStream(new FileOutputStream(File对象|Stream地址))

2字符缓冲流

通过内部嵌套字符流实现具备字符流原有方法

基本数据类型流

适用字节输入流

1用于读写带有基本数据类型和String类型的数据

写入流DataOutputStream(OutputStream)

注意:读取写入顺序

对象流

序列化:将对象信息转换为可存储或者可传输的信息格式

对象流(先序列化后反序列化)

1序列化输出流 ObjectOutputStream out=

new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(File对象)));

2反序列化输入流 ObjectInputStream in=

new ObjectInputStream(new BufferedInputStream(new FileInputStream(File对象)));

3能够被序列化的对象

转换流(了解)

可能出现乱码的情况:

1.字符编码格式不统一

2.缺少字节个数

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!