A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  IO(Input Output)流概述
通过数据流、序列化和文件系统提供系统输入和输出。




流按操作数据分为两种:字节流与字符流 。

流按流向分为:输入流,输出流。



IO流常用基类

字节流的抽象基类:



InputStream此抽象类是表示字节输入流的所有类的超类。

OutputStream此抽象类是表示输出字节流的所有类的超类。


字符流的抽象基类:

Reader用于读取字符流的抽象类。
Writer写入字符流的抽象类。



注:由这四个类派生出来的子类名称都是 以其父类名作为子类名的后缀。

字节流已知子类(以inputStream部分为例)

BufferedInputStreamBufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 mark 和 reset 方法的能力。
ByteArrayInputStreamByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节。
DataInputStream数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。
FileInputStreamFileInputStream 从文件系统中的某个文件中获得输入字节。
FilterInputStreamFilterInputStream 包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。
ObjectInputStreamObjectInputStream 对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化。
PipedInputStream管道输入流应该连接到管道输出流;管道输入流提供要写入管道输出流的所有数据字节。
PushbackInputStreamPushbackInputStream 为另一个输入流添加性能,即“推回 (push back)”或“取消读取 (unread)”一个字节的能力。
SequenceInputStreamSequenceInputStream 表示其他输入流的逻辑串联。


字符流已知子类(以reader部分为例)
BufferedReader从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
CharArrayReader此类实现一个可用作字符输入流的字符缓冲区。
FileReader用来读取字符文件的便捷类。
FilterReader用于读取已过滤的字符流的抽象类。
PipedReader传送的字符输入流。
PushbackReader允许将字符推回到流的字符流 reader。
StringReader其源为一个字符串的字符流。


字节流与字符流间已知桥梁
InputStreamReaderInputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。
OutputStreamWriterOutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。

IO程序的书写

导入IO包中的类--------进行IO异常处理-------- 在finally中对流进行关闭


流操作规律:
明确源和目的:
数据源:读取,InputStream和Reader
目的:写入:OutStream和Writer
数据是否是纯文本:
是:字符流,Reader,Writer
否:字节流,InputStream,OutStream


明确数据设备:
源设备:内存、硬盘、键盘
目的设备:内存、硬盘、控制台
是否提高效率:用BufferedXXX



看完回帖,不然怀孕,,嘻嘻



评分

参与人数 1技术分 +1 收起 理由
刘凯 + 1 很给力!

查看全部评分

17 个回复

倒序浏览
++++。求整理张孝祥老师的高新技术的内容
回复 使用道具 举报
回个贴又不会怀孕
回复 使用道具 举报
顶你个肺{:soso__3669389859068460655_3:}
回复 使用道具 举报
王靖远 发表于 2013-6-30 19:36
++++。求整理张孝祥老师的高新技术的内容

靖远兄真是身手矫健啊,,又被你抢沙发了:-$
回复 使用道具 举报
很不错 ~赞一个~{:soso_e142:}
回复 使用道具 举报
怕怀孕.顶一个{:soso__3110130392203091378_3:}
回复 使用道具 举报
兄台赞一个!
回复 使用道具 举报
想怀都怀不上{:soso_e143:}
回复 使用道具 举报
好吧,我只能说很无奈。。。
回复 使用道具 举报
虽然我是个男的,但为了以防万一,还是回个帖求个心安!
回复 使用道具 举报
我怕怀孕{:soso__16249759529752583092_2:}
回复 使用道具 举报
表示无奈。。
回复 使用道具 举报
还可以,总结的不错!
回复 使用道具 举报
总结的不错哈,
回复 使用道具 举报
{:soso_e129:}
回复 使用道具 举报
看到回帖   不然怀孕
回复 使用道具 举报
这么多流,那个最好用
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马