微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

笔记4:vb.net中的Stream类简介


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时的异常。

原文地址:https://www.jb51.cc/vb/258444.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐