一、Java IO流简介
1.IO流继承关系图
2.概论
- Java的IO是建立在流之上的。输入流读取数据,输出流写入数据
- 过滤器流(装饰流)可以串链到基础流上。可以修改数据,或者提供额外的方法,比如将数据转换为其他格式
- 阅读器和书写器可以串链到基础流上。允许读写文本(即字符)而不是字节。可以处理字符编码,字符集等问题。
- 流是同步的
二、输入流(InputStream)
1.定义
对应阅读器,是从某种特定介质中读取数据
2.基本方法
方法名 | 作用 |
---|---|
abstract int read() | 读取1个字节 |
int read(byte[] input) | 按字节读取全部,源码实际是调用下面的方法 |
int read(byte[] input, int offset, int length) | 按字节读取部分,确定开始的点和读取多长 |
long skip(long n) | 跳过 |
int available() | 返回一个实际可读字节数,总大小 |
void close() | 关闭流 |
三、输出流(OutputStream)
1.定义
对应书写器,是向某种特定介质写入数据
2.基本方法
方法名 | 作用 |
---|---|
abstract void write(int b) | 写入1个字节 |
int write(byte[] data) | 按字节全部写入,源码实际是调用下面的方法 |
int write(byte[] data, int offset, int length) | 按字节写入部分,确定开始的点和写入多长 |
long flush() | 刷新 |
void close() | 关闭流 |
缓冲
- 源码上,缓冲是把流先存在数组中,等数组满了才发送流
- 这样做的好处,
四、过滤器流
五、阅读器(Reader)
1.定义
对应输入流
六、书写器(Writer)
1.定义
对应输入流