java.io 包详细设计文档
一、模块概述
包路径: com.linsir.abc.core.base.io
包含子包:
stream- 字节流reader- 字符流decorator- 装饰器模式
类数: 9个
二、字节流
包路径: com.linsir.abc.core.base.io.stream
| 类名 | 功能描述 | 核心方法 |
|---|---|---|
ByteStreamProcessor | 字节流处理 | copyFile(), readBytes(), writeBytes() |
DataStreamSerializer | 数据流序列化 | writeInt(), readInt(), writeObject(), readObject() |
ObjectSerializer | 对象序列化 | serialize(), deserialize() |
ExternalizableImplementation | 自定义序列化 | writeExternal(), readExternal() |
设计要点:
- InputStream/OutputStream 抽象类
- 缓冲流的性能优化
- DataInputStream/DataOutputStream 的基本类型读写
- Serializable 接口和 transient 关键字
- serialVersionUID 的版本控制
- Externalizable 接口的自定义序列化
三、字符流
包路径: com.linsir.abc.core.base.io.reader
| 类名 | 功能描述 | 核心方法 |
|---|---|---|
CharacterStreamProcessor | 字符流处理 | readText(), writeText() |
EncodingConverter | 编码转换 | convertEncoding() |
设计要点:
- Reader/Writer 抽象类
- InputStreamReader/OutputStreamWriter 的桥接作用
- 字符编码的处理
四、装饰器模式
包路径: com.linsir.abc.core.base.io.decorator
| 类名 | 功能描述 | 核心方法 |
|---|---|---|
StreamDecoratorChain | 流装饰器链 | decorateWithBuffer(), decorateWithData() |
BufferedStreamDecorator | 缓冲装饰器 | read(), write() |
DataStreamDecorator | 数据装饰器 | readInt(), writeInt() |
设计要点:
- 装饰器模式的应用
- 流的包装和增强
- 灵活组合各种功能
五、完整类名列表
| 序号 | 完整类名 |
|---|---|
| 1 | com.linsir.abc.core.base.io.stream.ByteStreamProcessor |
| 2 | com.linsir.abc.core.base.io.stream.DataStreamSerializer |
| 3 | com.linsir.abc.core.base.io.stream.ObjectSerializer |
| 4 | com.linsir.abc.core.base.io.stream.ExternalizableImplementation |
| 5 | com.linsir.abc.core.base.io.reader.CharacterStreamProcessor |
| 6 | com.linsir.abc.core.base.io.reader.EncodingConverter |
| 7 | com.linsir.abc.core.base.io.decorator.StreamDecoratorChain |
| 8 | com.linsir.abc.core.base.io.decorator.BufferedStreamDecorator |
| 9 | com.linsir.abc.core.base.io.decorator.DataStreamDecorator |
文档版本: 1.0.0
最后更新: 2026-03-26