介绍
转换流使用了适配器模式
InputStreamReader
InputStreamReader
类是字节流和字符流之间的桥梁:它读取字节,并使用指定的字符集(没有指定就使用默认字符集)将其解码为字符
每次调用一个 InputStreamReader
的read()
方法都可能导致从底层字节输入流中读取一个或多个字节。
为了实现字节到字符的有效转换,可以从基础流中提取比满足当前读取操作所需的更多字节。为了获得最高效率,请考虑在 BufferedReader
中包装InputStreamReader
OutputStreamWriter
OutputStreamWriter
类是字符流到字节流的桥梁:写入其中的字符会使用指定的字符集(没有指定就使用默认字符集)编码成字节
每次调用一个 OutputStreamWriter
的writ()
方法都可能导致从底层字节输出流中写入一个或多个字节。
为了实现字节到字符的有效转换,可以从基础流中提取比满足当前读取操作所需的更多字节。为了获得最高效率,请考虑在 BufferedReader
中包装OutputStreamWriter
InputStreamReader常用API
方法 | 描述 |
---|---|
int read() |
读取单个字符 |
int read(char[] cbuf, int offset, int length) |
将字符读入数组 |
int read(CharBuffer target) |
将字符读入字符缓冲区 |
boolean ready() |
判断流是否已准备好被读取 |
void close() |
关闭流 |
OutputStreamWriter常用API
方法 | 描述 |
---|---|
void write(int c) |
写入单个字符 |
void write(char[] cbuf, int off, int len) |
写入字符数组 |
void write(String str, int off, int len) |
写入字符串 |
void write(String str) |
写入字符串 |
void flush() |
刷新流 |
void close() |
关闭流 |