1)OutputStreamWriter 字符输出流
· public OutputStreamWriter(OutputStream out):根据默认编码把字节流的数据转换为字符 流
· public OutputStreamWriter(OutputStream out,String charsetName):根据指定编码把字节流数据转换为字符流
2)InputStreamReader 字符输入流
· public InputStreamReader(InputStream in):用默认的编码读取数据
· public InputStreamReader(InputStream in,String charsetName):根据指定编码把字节流数据转换为字符流
3)OutputStreamWriter写数据
· OutputStreamWriter写数据方法
· public void write(int c):写一个字符
· public void write(char[] cbuf):写一个字符数组
· public void write(char[] cbuf,int off,int len):写一个字符数组的一部分
· public void write(String str):写一个字符串
· public void write(String str,int off,int len):写一个字符串的一部分
· 字符流操作要注意的问题
· flush()的作用
· flush()和close()的区别
A:close()关闭流对象,但是先刷新一次缓冲区。关闭之后,流对象不可以继续再使用了。
B:flush()仅仅刷新缓冲区,刷新之后,流对象还可以继续使用。
4)InputStreamReader读数据
· public int read()
· public int read(char[] cbuf)
3、转换流的简化写法
转换流的名字比较长,而我们常见的操作都是按照本地默认编码实现的,所以,为了简化我们的书写,转换流提供了对应的子类。
· FileWriter
· FileReader
4、字符缓冲流
1)BufferedWriter:字符缓冲输出流
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。 可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了。
2)BufferedReader:字符缓冲输入流
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。 可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
3)特殊功能
BufferedWriter
void newLine():写入一个行分隔符,根据系统来决定换行符。
BufferedReader
String readLine():读取一个文本行,一次读取一行数据,包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null。