淘先锋技术网

首页 1 2 3 4 5 6 7


                 Stream类包含基本的数据读取与写入、数据随机读写、异步I/O机制等功能。

                  其子类扩充这些功能,因此了解Stream类显得相当重要。



一、Stream类的方法成员

              

        (一) Stream类的方法成员大致分为下面四类:


              1、数据读写

                      从数据流读取字节数据:Read、ReadByte

                      把数据写入数据流:       Write、WriteByte


               2、异步I/O

                        异步读取:   BeginRead(开始异步读取)、EndRead(暂时停止异步读取)

                        异步写入:   BeginWrite、EndWrite


                3、随机存取

                           Seek指定数据当前位置的方法,用来设置当前开始读取写的数据流的位置。

                           这样就可以随意设置数据中的指针位置,进行数据的随机存取


                4、状态处理

                           Flush 清空(刷新)数据流,可以将数据流缓冲区中所有数据清除,回存至连接数据流的底层设备。

                           Close 关闭数据流,释放数据流本身所占用的资源。


          (二)成员表             

            

             Read  读取数据流中的字节数据,并重新设置当前数据流的位置

             Readbyte  从数据读取一个字节的数据内容

             Write    将当前的数据字节写入数据流中,当前数据流中的位置则往前移动所填入的字节数目。

             WriteByte  将一个字节数据写入到数据流中,并且将数据流的位置往前移动一个字节的位置

 

             BeginRead   异步读取字节数据

             EndRead   结束异步读取

             BeginWrite   异步写入字节数据

             EndWrite    结束异步写入


             Seek   重新设置当前数据流位置

              Flush   清空数据流缓冲区,将其中的数据写入连接的底层数据源

              Close    关闭数据流,释放数据流所使用的资源

                









二、Stream类的属性


             CanRead   当前数据流是否可读

             CanWrite    当前数据流是否可写

             CanSeek     当前数据流是否支持定位(搜索)

             Position       设置或获取当前数据流的位置指针

             Length          获取当前数据流的长度


        1、CanSeek与Position,支持数据流的随机存取。


        2、 顺序存取:当对数据流进行读写时,数据流的指针位置随着每次的读写操作依序往前推进一个字节,这种方法称顺序存取。


         3、随机存取:当对数据流进行读写时,非逐字节进行,必须利用Position重设数据流的位置指针进行读写,这种方式称为随机存取。


         4、CanRead、CanSeek、Length都是ReadOnly。

               Length返回数据流长度(Long)。







三、Stream类的异常


       IOException     一般性I/O异常。如:已关闭数据流仍进行操作,在数据流末尾进行读取


       NotSupportedException   不支持异常,如:对只读数据流进行写入,对不支持Seek数据流进行Seek方法。


       ArgumentNullException   参数为Null时的异常。