Java基础-IO流-转换流(字符流)

转换流

把字节流转换为字符流

字符流 = 字节流+编码表

字符输出流

OutputStreamWriter(OutputStream) 根据默认编码,把字节流转换为字符输出流

OutputStreamWriter(OutputStream,String charsetName) 根据指定编码把字节流数据转换为字输出符流

在这里插入图片描述

字符输入流

InputStreamReader(FileInputStream)根据默认编码,把字节流转换为字符输入流

InputStreamReader(FileInputStream,String charsetName)根据指定编码把字节流数据转换为字输入符流

在这里插入图片描述

OutputStreamWriter的方法

public void writer(int c) 写一个字符

public void writer(char[] cbuf) 写一个字符数组

public void writer(char[],int off,int len) 写一个字符数组的一部分

public void writer(String str) 写一个字符串

public void writer(String str,int off,int len):写一个字符串的一部分

因为计算机存储数据是按字节存储的,所以,在写入字符流的时候,一个字符等于两个字节,此时数据是存储在缓冲区上的,所以在使用字符流的时候,要用 void flush()方法刷新。

public void writer(int c) 写一个字符

在这里插入图片描述

public void writer(char[] cbuf) 写一个字符数组

在这里插入图片描述

public void writer(char[],int off,int len) 写一个字符数组的一部分

在这里插入图片描述

public void writer(String str) 写一个字符串

在这里插入图片描述

close()和flush()的区别

close() 关闭流对象,刷新缓冲区,关闭之后流对象不能再继续使用

flush() 仅刷新缓冲区,刷新之后流对象可以继续使用

字符缓冲流的特殊方法

BufferedWriter()

public void newLine()

根据系统来决定换行符

在这里插入图片描述

BufferedReader

public void readLine()

一次读取一行数据,包含该行内容的字符串,不包含任何终止符,如果已经到达流末尾,则返回null;

在这里插入图片描述

使用特殊方法复制文件

在这里插入图片描述

总结

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/NONAME999/article/details/84964175