字节流体系
FileInputStream 文件输入流
用于从文件中读取字节数据。构造方法
常用方法
| 方法 | 说明 |
|---|---|
int read() | 读取一个字节,返回 -1 表示结束 |
int read(byte[] b) | 读取多个字节到数组,返回读取的字节数 |
int read(byte[] b, int off, int len) | 读取指定长度的字节 |
int available() | 返回可读取的字节数 |
void close() | 关闭流 |
读取文件示例
使用字节数组读取
一次性读取全部内容
FileOutputStream 文件输出流
用于将字节数据写入文件。构造方法
常用方法
| 方法 | 说明 |
|---|---|
void write(int b) | 写入一个字节 |
void write(byte[] b) | 写入字节数组 |
void write(byte[] b, int off, int len) | 写入字节数组的指定部分 |
void flush() | 刷新缓冲区 |
void close() | 关闭流 |
写入文件示例
追加写入
文件复制
使用字节流实现文件复制:ByteArrayInputStream 字节数组输入流
从字节数组中读取数据。ByteArrayOutputStream 字节数组输出流
将数据写入内存中的字节数组。DataInputStream 数据输入流
用于读取基本数据类型。DataOutputStream 数据输出流
用于写入基本数据类型。ObjectInputStream 对象输入流
用于读取对象(反序列化)。ObjectOutputStream 对象输出流
用于写入对象(序列化)。流的关闭
传统方式
try-with-resources(推荐)
小结
- FileInputStream/FileOutputStream:文件字节流,最常用
- ByteArrayInputStream/ByteArrayOutputStream:内存字节流
- DataInputStream/DataOutputStream:处理基本数据类型
- ObjectInputStream/ObjectOutputStream:对象序列化/反序列化
- 使用 try-with-resources 自动关闭流
- 使用字节数组缓冲区提高读写效率