基本IO操作思维导图
- 格式:pdf
- 大小:145.86 KB
- 文档页数:1
将指定 byte 数组中从偏移量 off 开始的 len 个字节写入文件
举个栗子
继承自 InputStream
可使 用
Int read(byte[] d) 方法 Int read() 方法
批量读写
已字节为单位 数据读取
构造方法 创建流读取数据 文件
文件 File 对象
FileInputStream ( File file )
不提供 根据类信息 计算默认
跨
声明的类序列化存盘后,若随着需求改变 了类的属性(增加或减少或改名),反序 列化会出现异常,造成不兼容问题。但当 serialVersionUID 相同时,它就会将不一 样的 filed 以 type 的预设值反序列化,可 避开不兼容问题。
注意
平台
稳定 不同 实现
不稳定
特定地方链接 其他流
节点流 处理流
特定地方(节点) 读写数据
实现
从
处理
已存在的流
封装
流向的功能
调用
必须
构造方法
参数
其他流
多次包装
流的链接
一套 API 文件
file 对象
FileOutputStream(File file)
指定名称
FileOutputStream(String filename)
重写
高
BufferedInputStream 内部
缓冲区 (字节数组)
尽可 能多
这是 个大 栗子
缓冲 流
基本原理
写出操作
次数多
低 硬件 效率
BOS
缓冲输出流 BOS 批量数据 一次性
高
BufferedOutputStream
内部
维护一缓冲区
写满 写入
问题
不及时
举
必须
不满
个
足
栗
子
某些操作结束
希望
数据
解决
Void flush() 方法 清空缓存
强制
byte
读取频繁
低
基本原理
读取操作
硬件
BIS
批量 读写次数少
将给定数组的字节全部写出 void write(byte[]d)
内到外
常用方法
OutputStream
所有字节输出流 父类
IO 抽 象类
扩展后
基本 IO 操作
流
Object readObject()
ObjectInputStream(OIS) 输入流 使用
举个
大 栗子
方法
void writeObject(Object o)
追加
创建流写入数据
构造方法
数据写入
文件 流
创建 FOS 对象 字节输出流
字节输入流 创建 FIS 对象
以字节为单位 继承自 OutputStream
文件
可使 用
Void write(int d) 方法 Void write(byte[] d) 方法
Void write(byte[] d ,int offset ,int len) 单字节 读写
读取数据
有效
返回
所有字节输入流
外到内 父类
低八位
int
读取 1byte
int read ( 个 byte int read(byte[] d)
常用方法
InputStream
返回值 int
实际读取字节数
写出数据
低八位
int 写出 1 个 byte void write(int d)
File file = new File (“ demo.dat” ) ; FileInputStream fis = new FileInputStream(file); 创建一个用于读取文件 demo.dat 的输入流
举个栗子
指定路径名称 FileInputStream ( String name ) FileInputStream fis = new FileInputStream(“demo.dat”)
设备
字节序列
反序列化
不同
转移
字节序列
对象 序列化
ObjectOutputStream(OOS) 输出流 使用
概念
对象 流
不必要
关键字
transient
修饰
属性
忽略
被
来
要求
实现 不需重写任何方法 Serializable 接口
个 大
栗
只做可序列化标志
子
提供 常量 serialVersionUID 表明类的版本 最好