我是靠谱客的博主 纯真衬衫,最近开发中收集的这篇文章主要介绍I/O体系结构,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

[size=small]流相当于一条管道,用来传输数据;用形象的思维来分析流这个概念,(水管、水滴、小桶)
在流中我们以当前的程序运行所在的内存角度来划分输入/输出;
按照流中传输的数据单元可以分为字节流、字符流;字节流可以认为水管中每一滴水就是一个字节,而在字符流中每一滴水是一个字符(两个字节);
如果按照流的角色分,可以分为(底层)节点流、(上层)处理流;
怎么去理解节点流,个人认为它就是一根管道直接与数据源连接,而处理流则是在已存在的流上进行封装(即在流上再包装其它流);当然我们也有另外一种更好的方法来区分它们:只要流的构造参数不是一个物理节点,而是已存在的流,那么这种流一定是处理流,所有节点流都是直接以物理IO节点作为构造参数的;
当然我们在实际应用的过程中,如果输入输出的内容是文本内容,那么我们应该使用字符流,如果内容是二进制内容则要用字节流;原因是什么呢?当我们在用字节流处理文本文件时,我们而要用合适的方式转换成字符,这就增加了编程的复杂度。当然字节流其实比字符流更加的强大,因为计算机中的所有数据都二进制的,它能够处理所有的二进制文件[/size]
字节流--------------继承体系图
[img]http://dl.iteye.com/upload/attachment/360692/066adf43-7284-3b3c-bb8d-e33959bf8cc1.jpg[/img]

字符流------------继承体系图
[img]http://dl.iteye.com/upload/attachment/360694/07dc9ed8-b96e-3cae-9985-24d14bacc2d1.jpg[/img]

[table]

[align=center]输入/输出流体系[/align]
|分类 |字节输入流 |字节输出流 |字符输入流 |字符输出流
|抽象基类 |InputStream|OutputStream|Reader|Writer
|[color=brown]访问文件[/color] |FileInputStream |File… |File Reader |File Writer
|访问数组 |ByteArray InputStream| ByteArray… |CharArray Reader |CharArray Writer
|访问管道 |PipedInputStream |Piped… |Piped Reader |Piped Writer
|访问字符串| | | String Reader |String Writer
|[color=brown]缓冲流[/color] |BufferedInputStream| Buffered…| Buffered Reader| Buffered Writer
|转换流| | |InputStreamReader| OutputStreamReader
|[color=brown]对象流[/color] |ObjectInputStream |Object… | |
|抽象基类 |FilterInputStream| Filter… |Filter Reader| FilterWriter
|[color=brown]打印流 | |PrintStream| |PrintWriter[/color]
|推回流 |PushbackInputStream| |Pushback Reader|
|[color=brown]数据流 |DataInputStream |Data… [/color] | |
[/table]

最后

以上就是纯真衬衫为你收集整理的I/O体系结构的全部内容,希望文章能够帮你解决I/O体系结构所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部