字符流 (只能够传输文本文件)
在输入输出操作时,以字符为单位进行操作,默认是unicode编码集
1、字符流的抽象父类分别是-------Writer\Reader
Writer提供了字符输出流的常用方法
void close()
void write(char[] cbuf)------写一个字符数组
void write(char[] cbuf, int off, int len)------字符数组的一部分
void write(int c)---------写一个字符
void write(String str)--------写一串字符
write(String str, int off, int len) ---------写字符串的一部分Reader提供了字符输入流的常用方法
int read()-------读一个字符,存储到int的低16位
int read(char[] cbuf)----------将数据读进字符数组中,返回的是读取的有效字符个数
int read(char[] cbuf, int off, int len)------------将字符读入数组的一部分
子类中转换流
OutputStreamWriter: 将字符转换成字节写出到硬盘上。
构造器:
OutputStreamWriter(OutputStream out)
创建一个指定字节输出流的字符输出流对象,采用的是系统默认的编码集
OutputStreamWriter(OutputStream out, Charset cs)
OutputStreamWriter(OutputStream out, CharsetEncoder enc)
OutputStreamWriter(OutputStream out, String charsetName)
创建一个指定字节输出流的字符输出流对象,采用指定编码集write(int a)
当a的低16位,如果被设计成相应的字符时,如果两个字节都为有效字节,
会写出两个。如果低16位对应是无效字符,或者是有效字节只有一位时,
会写出一个字节。
InputStreamReader:将字节转换成字符读进程序中。
构造器:
InputStreamReader(InputStream in)
创建一个使用默认字符集的InputStreamReader。
InputStreamReader(InputStream in, Charset cs)
InputStreamReader(InputStream in, CharsetDecoder dec)
InputStreamReader(InputStream in, String charsetName)
创建一个指定字符集的字节输入流的字符输入流对象。