Stream和Reader、Writer对象学习

1. Stream 是所有流的抽象基类。流是字节序列的抽象概念,例如文件、输入/输出设备、内部进程通信管道或者 TCP/IP 套接字。Stream 类及其派生类提供这些不同类型的输入和输出的一般视图,使程序员不必了解操作系统和基础设备的具体细节。

常用的Stream的子类有:

System.IO.FileStream 存储在文件系统的字节流

这个要重点学习。

System.IO.MemoryStream 存储在内存中的字节流

System.IO.BufferedStream为其他流提供缓冲的流

System.Net.Sockets.NetworkStream通过网络设备读写的字节流


  Stream提供了读写流的方法是以字节的形式从流中读取内容。而我们经常会用到从字节流中读取文本或者写入文本,微软提供了StreamReader和StreamWriter类帮我们实现在流上读写字符串的功能。

2. TextReader 表示可读取连续字符系列的读取器。

StreamReaderStringReader 的抽象基类,它们分别从流和字符串读取字符。使用这些派生类可打开一个文本文件以读取指定范围的字符,或基于现有的流创建一个读取器。

2.1  StreamReader 类

实现一个 TextReader,使其以一种特定的编码从字节流中读取字符。

StreamReader 旨在以一种特定的编码输入字符,而 Stream 类用于字节的输入和输出。使用 StreamReader 读取标准文本文件的各行信息。

2.2  StreamWriter 类

实现一个 TextWriter,使其以一种特定的编码向流中写入字符。

StreamWriter 旨在以一种特定的编码输出字符,而从 Stream 派生的类则用于字节的输入和输出。StreamWriter 默认使用 UTF8Encoding 的实例,除非指定了其他编码。

 


3. BinaryReader和BinaryWriter 类

BinaryReader用特定的编码将基元数据类型读作二进制值。

BinaryWriter以二进制形式将基元类型写入流,并支持用特定的编码写入字符串。

参考文献:

http://www.cnblogs.com/yukaizhao/archive/2011/07/28/stream.html文章不错!!

http://msdn.microsoft.com/zh-cn/library/system.io.stream(v=VS.80).aspx

http://msdn.microsoft.com/zh-cn/library/system.io.textreader(v=VS.80).aspx

http://msdn.microsoft.com/zh-cn/library/system.io.streamreader(v=VS.80).aspx

http://msdn.microsoft.com/zh-cn/library/system.io.streamwriter.aspx

 

posted @ 2012-05-21 11:31  太一吾鱼水  阅读(291)  评论(0编辑  收藏  举报