Hello friend, I'm Rit|

Ritchie里其

园龄:2年6个月粉丝:4关注:7

📂Java
🔖IO
2022-10-23 21:16阅读: 239评论: 0推荐: 0

IO(二)

一、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 读

五、InputStreamReader

5.1 简介

A.InputStreamReader 是字节流通向字符流的桥梁
B.可以设置字符集 或者可以接受平台默认的字符集 C.为了达到最高效率,可要考虑在 BufferedReader

5.2 构造方法

方法名称 方法描述
public InputStreamReader(InputStream in) 创建一个使用默认字符集的InputStreamReader
public InputStreamReader(InputStream in, String charsetName) 创建使用指定字符集的InputStreamReader

5.3 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 ObjectInputStream-读

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 读取对象
9.3.4 ObjectInputStream-读

本文作者:Ritchie里其

本文链接:https://www.cnblogs.com/wang-zeyu/p/16808309.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Ritchie里其  阅读(239)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
✨欢迎你~🍻
✨欢迎你~🍻
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 遥か Aimer
遥か - Aimer
00:00 / 00:00
An audio error has occurred.

作词 : aimerrhythm/田中ユウスケ

作曲 : 田中ユウスケ

编曲 : 玉井健二/百田留衣

海岸線の雨に ちらばった君の影

思い出が交差する 海辺の街

君はあの日のまま いまも夢を見てた

君はあの日のまま いまも夢を見てた

遥か記憶の空 2人照らす光

遥か記憶の空 2人照らす光

膝までの浅瀬で 見つけた星

君まで届くなんてさ ありえないような

浅い眠りの中で 深い夢から覚めて

浅い眠りの中で 深い夢から覚めて

裸足のまま駆けてく まばゆい星

君はあの日のまま どんな夢を見てた?

君はあの日のまま どんな夢を見てた?

遥か記憶の空 2人照らす光

遥か記憶の空 2人照らす光

いつまでもこうして 笑っててほしい

夜空に舞い上がる 幾千の花びら

でたらめな誓いで 生きてく日々

君から届くなんてさ ありえないような