一、Writer
1.1 简介
A.写入字符流的抽象类
B.子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()
C.多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能
1.2 常用方法
方法名称 |
方法描述 |
close() |
关闭此流,但要先刷新它。 |
flush() |
刷新该留得缓冲。 |
write(char[] cbuf) |
写入字符数组。 |
write(char[] cbuf, int off, int len) |
写入字符数组的某一部分。 |
write(int c) |
写入单个字符。 |
write(String str) |
写入字符串。 |
write(String str, int off, int len) |
写入字符串的某一部分。 |
1.3 子类
BufferedWriter,FilterWriter,OutputStreamWriter,PrintWriter等
二、FileWriter
2.1 简介
A.用来写入字符文件的便捷类
B.FileWriter 用于写入字符流。要写入原始字节流,请考虑使用 FileOutputStream
2.2 构造方法
方法名称 |
方法描述 |
public FileWriter(File fifile) |
根据给定的 File 对象构造一个 FileWriter 对象。 |
public FileWriter(File fifile,boolean append) |
根据给定的 File 对象构造一个 FileWriter 对象。如果第二个参数为true,则将字节写入文件末尾处,而不是写入文件开始处。 |
public FileWriter(StringfifileName) |
根据给定的文件名构造一个 FileWriter 对象。 |
public FileWriter(String fifileName, boolean append) |
根据给文件名构造一个 FileWriter 对象。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。 |
三、 Reader
方法名称 |
方法描述 |
public FileWriter(File fifile) |
根据给定的 File 对象构造一个 FileWriter 对象。 |
public FileWriter(File fifile,boolean append) |
根据给定的 File 对象构造一个 FileWriter 对象。如果第二个参数为true,则将字节写入文件末尾处,而不是写入文件开始处。 |
public FileWriter(StringfifileName) |
根据给定的文件名构造一个 FileWriter 对象。 |
public FileWriter(String fifileName, boolean append) |
根据给文件名构造一个 FileWriter 对象。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。 |
3.1 简介
A.用于读取字符流的抽象类
B.子类必须实现的方法只有 read(char[], int, int) 和 close()
C.多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能
3.2 常用方法
方法名称 |
方法描述 |
public abstract void close() |
关闭资源 |
public int read() |
读取单个字符 |
public int read(char[] cbuf) |
将字符读入数组 |
public abstract int read(char[] cbuf, int offff, int len) |
将字符读入数组的某一部分 |
3.3 子类
BufferedReader,FilterReader,InputStreamReader,StringReader
四、FileReader
4.1 简介
A.用来读取字符文件的便捷类
B.FileReader 用于读取字符流。要读取原始字节流,请考虑使用 FileInp
4.2 构造方法
构造方法名称 |
构造方法描述 |
public FileReader(File fifile) |
在给定从中读取数据的 File 的情况下创建一个新FileReader |
public FileReader(String fileName) |
在给定从中读取数据的文件名的情况下创建一个新FileReader |
4.3 FileReader 读
5.1 简介
A.InputStreamReader 是字节流通向字符流的桥梁
B.可以设置字符集 或者可以接受平台默认的字符集 C.为了达到最高效率,可要考虑在 BufferedReader
5.2 构造方法
方法名称 |
方法描述 |
public InputStreamReader(InputStream in) |
创建一个使用默认字符集的InputStreamReader |
public InputStreamReader(InputStream in, String charsetName) |
创建使用指定字符集的InputStreamReader |
六 、 OutputStreamWriter
6.1 简介
A.OutputStreamWriter 是字符流通向字节流的桥梁
B.否则将接受平台默认的字符集 可以设置字符集 C.为了获得最高效率,可考虑将OutputStreamWriter 包装到 BufferedWriter 中
6.2 构造方法
构造方法名称 |
构造方法描述 |
public OutputStreamWriter(OutputStream out) |
创建使用默认字符编码的OutputStreamWriter |
public OutputStreamWriter(OutputStream out, String |
创建使用指定字符集的OutputStreamWriter |
6.3 OutputStreamWriter写
七、 BufferedReader
7.1 简介
A.从字符输入流中读取文本
B.缓冲各个字符,从而实现字符、数组和行的高效读取
C.可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
7.2 构造方法
方法名称 |
方法描述 |
public BufffferedReader(Reader in) |
创建一个使用默认大小输入缓冲区的缓冲字符输入流 |
public BufffferedReader(Reader in, int sz) |
创建一个使用指定大小输入缓冲区的缓冲字符输入流 |
7.3 独有方法
方法名称 |
方法描述 |
public String readLine() |
一行一行的读取 |
八、BufferedWriter
8.1 简介
A.将文本写入字符输出流
B.缓冲各个字符,从而提供单个字符、数组和字符串的高效写入
C.可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了
8.2 常用构造方法
方法名称 |
方法描述 |
public BufffferedWriter(Writer out) |
创建一个使用默认大小输出缓冲区的缓冲字符输出流 |
public BufffferedWriter(Writer out, int sz) |
创建一个使用给定大小输出缓冲区的新缓冲字符输出流 |
8.3 独有方法
方法名称 |
方法描述 |
public void newLine() |
换行 |
8.4 flush()和close()
1.flush() 将缓冲区的数据刷新到硬盘中 2.close() 关闭资源
3.注意点:
A.调用flush()方法之后 流资源还可以继续使用 调用close()方法之后 流资源是不能使用 B.close()底层调用了flush()方法
九、对象流
9.1 序列化简介
1.使用场景:在读写对象到文件中的时候 在网络传输对象的时候 需要使用序列化
2.序列化机制:使用一个序列化的字节(唯一的标识)来表示文件中的对象(属性以及方法)
3.序列化:将对象写入到文件的过程 就是序列化 将对象进行流化 加快写的速度
4.反序列化 将文件中序列化的对象读取的过程 就称为是反序列化 加快读取的速度
9.2 对象流-写-ObjectOutputStream
9.2.1 简介
A.ObjectOutputStream 可以将对象写入到文件中 可以实现对象的持久存储(持久性)
B.如果流是网络套接字流,则可以在另一台主机上或另一个进程中重构对象 ==>在网络通信中可以使用ObjectOutputStream来传输对象
C.只能将支持 java.io.Serializable 接口的对象写入流中
9.2.2 构造方法
构造方法名称 |
构造方法描述 |
public ObjectOutputStream(OutputStream out) |
创建写入指定 OutputStream 的ObjectOutputStream |
9.2.3 常用方法
方法名称 |
方法描述 |
public fifinal void writeObject(Object obj) |
将指定的对象写入 ObjectOutputStream |
9.3.1 简介
A.ObjectInputStream 对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化。
B.只有支持 java.io.Serializable
9.3.2 构造方法
方法名称 |
方法描述 |
public ObjectInputStream(InputStream in) |
创建从指定 InputStream 读取的ObjectInputStream |
9.3.3 常用方法
方法名称 |
方法描述 |
public fifinal Object readObject() |
从 ObjectInputStream 读取对象 |