一、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 读取对象 |
本文作者:Ritchie里其
本文链接:https://www.cnblogs.com/wang-zeyu/p/16808309.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步