您的位置:首页 > 职场人生

黑马程序员——关于IO流的分类整理

2013-07-23 18:47 78 查看
----------------------
ASP.Net+Android+IO开发;.Net培训、期待与您交流! ----------------------
所谓IO,就是inout,即程序的输入输出。首先要理解出入是以程序为参照,数据传入到程序中叫做输入,程序把数据发送到程序外部叫输出。
由于对数据操作有两种类型:字节和字符,所以IO流中根据数据操作的类型不同,可以分为字节流和字符流。
IO流中有四大天王,都是抽象类。分别是InputStream字节输入流、OutputStream字节输出流、Reader字符输入流、Writer字符输出流。由这四个类可以引申出更多的类,比如xxxInputStream、xxxOutputStream、xxxReader、xxxWriter,其中看出Reader、Writer为字符流,xxxStream:字节流

另外,IO流也可以按功能分类分为:
1、内存流,根据内存里的对象(byte[],char[],String对象)构建出的流。比如
ByteArrayInputStream、ByteArrayOutputStream:操作字节数组的流
CharArrayReader、CharArrayWriter:操作字符数组的流
StringReader、StringWriter:操作字符串的流
2、节点流,根据数据源(文件,网络)构建出来的流
FileInputStream、FileOutputStream
FileReader、FileWriter
其中,FileInputStream &FileReader 应用上的区别:
FileInputStream,FileOutputStream 适用于用来操作文件原数据;
FileReader,FileWriter 适用于用来操作文件里的文本内容。
3、处理流,依赖于另外一个流构建出来的新的流,处理流为基本的节点流或者内存流提供额外的功能或提升效率
3.1、缓冲流:内部有个缓冲区,用来高效的读写。
BufferedInputStream、BufferedOutputStream
BufferedReader,比BufferedInputStream多了一个readLine(),用来读取一行文本
BufferedWriter,比BufferedOutputStream多了newLine(),用于换行;
3.2、原始数据流,读完则抛出EOFException。
DataInputStream、DataOutputStream
3.3、对象流,读完则抛出EOFException
ObjectInputStream、ObjectOutputStream
对于这两个对象要序列化,具体操作见下一篇博客《IO流中常见流的用法》
3.4、打印流
PrintStream字符打印流
PrintWriter字节打印流
3.5、转换流,字节流和字符流之间转换的纽带。
InputStreamReader:字节输入流转为字符输入流
OutputStreamWriter:字符输出流转为字节输出流
----------------------
ASP.Net+Android+IOS开发.Net培训、期待与您交流!----------------------
详细请查看:http://edu.csdn.net
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: