MemoryStream类——c#

来源:互联网 发布:乐乎lofter帅哥 编辑:程序博客网 时间:2024/05/20 06:05

在学习unity的途中,有对网络编程的需求,所以我就去搞unity网络编程了,我认为编程中,当属网络和文件是最难的。
在看一篇博客的时候,刚刚开头就碰到了memorystream类,去百度了一下,发现它继承与stream类(流),它的兄弟,也就是同样由stream派生的子类,有filestream、BufferedStream等,看来不是个简单的东西,所以为了避免忘记,特地写了一篇文章。
1.它的功能,读写内存,属于底层内存读写,速度快!memorystream处理的单位是字节
2.重要方法:
继承自stream,自然有最基本的方法。

1、Read():读取MemoryStream流对象,将值写入缓存区。    *mmstream.Read(byte[] buffer,offset,count)*     offset 开始位置【标号】 count 数量2、ReadByte():从MemoryStream流中读取一个字节。    每读一次指针位置加一3、Write():将值从缓存区写入MemoryStream流对象。    *mmstream.Read(byte[] buffer,offset,count)*4、WriteByte():从缓存区写入MemoytStream流对象一个字节。    每写一次指针位置加一Tip:a caseusing 关键字有两个主要用途:**1**、作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。例如:using System; **2、**作为语句,用于定义一个范围,在此范围的末尾将释放对象。using(Connection conn=new Connection(connStr))  {  }  //使用using关键字可及时销毁对象 Seek(int len, SeekOrigin soc)设置指针位置 len 偏移 使用后指针位置为 len + SeekOrigin.?(SeekOrigin是一个枚举类,有元素 Begin(开始 0)Current (当前位置) End(结尾 长度))属性MemoryStream.Capacity 属性 取得或设定配置给这个资料流的位元组数目。配置的长度,总长度MemoryStream.Position 属性 指定当前流的位置。MemoryStream.Length 属性获取用字节表示的流长度。 已有数据的长度

3.构造方法

        MemoryStream(Int32)   //构造一个具有指定长度的        MemoryStream()    //使用初始化为零的可扩展容量初始化 MemoryStream 类的新实例。        MemoryStream(Byte[]) //基于指定的字节数组初始化 MemoryStream 类的无法调整大小的新实例。        MemoryStream(Byte[], Boolean) //在 **CanWrite** 属性按指定设置的状态下,基于指定的字节数组初始化 MemoryStream 类的无法调整大小的新实例。        boolean参数 CanWrite 属性的设置,确定该流是否支持写入。        Tip:CanWrite     属性名称  说明    CanRead 获取一个值,该值指示当前流是否支持读取。(覆盖 Stream.CanRead。)    CanSeek 获取一个值,该值指示当前流是否支持查找。(覆盖 Stream.CanSeek。)    CanTimeout  获取一个值,该值确定当前流是否可以超时。(继承自 Stream。)    CanWrite    获取一个值,该值指示当前流是否支持写入。(覆盖 Stream.CanWrite。)    Capacity    获取或设置分配给该流的字节数。    Length  获取流的长度(以字节为单位)。(覆盖 Stream.Length。)    Position    获取或设置流中的当前位置。(覆盖 Stream.Position。)    ReadTimeout 获取或设置一个值(以毫秒为单位),该值确定流在超时前尝试读取多长时间。(继承自 Stream。)    WriteTimeout    获取或设置一个值(以毫秒为单位),该值确定流在超时前尝试写入多长时间。(继承自 Stream。)
原创粉丝点击