读书人

对Java的I/O源理解

发布时间: 2012-08-29 08:40:14 作者: rapoo

对Java的I/O流理解

这是很久前另一个BLOG上的,现在不用了。转过来吧,方便查看...

?

输出流

流程示意图:

?对Java的I/O源理解

不同的情况:

i如果缓冲区被填满,将自动执行2,3步,把数据转换为字节写入到下一个缓冲区

< 将循环执行,未写入的数据源继续写入缓冲区,直到数据被全部写入 >

? ?ii 如果未被填满,则不执行2,3步。

?

API中的一些定义:

ByteArrayOutputStream

?

OutputStreamWriter

?

BufferedWriter

?

还有就是flush( )方法的定义——

?

*需要注意的是,ByteArrayOutputStream中的数组缓冲区初始大小为32字节,随后会按数据大小自动进行调整。

?

?

输入流

流程示意图:

对Java的I/O源理解

?

?

API中的一些定义:

ByteArrayInputStream

1.ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节。

2. 内部计数器跟踪 read 方法要提供的下一个字节。

?

InputStreamReader

BufferedReader

?

close( )方法——

1.?????? 关闭该流并释放与之关联的所有资源。

2.?????? 在关闭该流后,再调用 read()、ready()、mark()、reset() 或 skip() 将抛出 IOException。

3.?????? 关闭以前关闭的流无效。

读书人网 >移动开发

热点推荐