内存流MemoryStream是干什么用的,给个简单点的例子好吗?
vs的帮助是这样写的: 
 MemoryStream   类创建这样的流,该流以内存而不是磁盘或网络连接作为支持存储区。MemoryStream   封装以无符号字节数组形式存储的数据,该数组在创建   MemoryStream   对象时被初始化,或者该数组可创建为空数组。可在内存中直接访问这些封装的数据。内存流可降低应用程序中对临时缓冲区和临时文件的需要。   
 我看不懂,请大虾们给个比较容易懂得例子让我运行一下好吗? 
 在线等,得到答案马上给分。
------解决方案--------------------编程访问文件是通过文件流对象进行的,当应用程序需要访问文件时,必须先创建一个文件流对象,此流对象和文件是一一对应关系。 
 在.NET中,使用抽象基类System.IO.Stream代表流,它提供Read和Write两个方法。由于数据流的有序性,因此流对象还有一个读写指针,为此,Stream类还有一个Seek方法用于移动读写指针。 
 FileStream对象的数据来自文件,而MemoryStream对象的数据来自内存缓冲区。这两个类都继承自Stream类。   
 MemoryStream的数据来自内存中的一块连续区域,这块区域称为“缓冲区(Buffer)”。可以把缓冲区看成一个数组,每个数组元素可以存放一个字节的数据。   
 在创建MemoryStream对象时,可以指定缓冲区的大小,并且可以在需要的时候更改。 
 //字节数组 
 byte[] buffer = new byte[600]; 
 //填充字节数组 
 private void CreateExampleData() 
 { 
 for(int i=0; i <600; i ) 
 { 
 //byte类型的数最大不能超过255,用256取模实现 
 buffer[i] = (byte)(i%256); 
 }  
 }内存流的基本使用方法: 
 private void OnTestMemory() 
 { 
 //创建测试数据 
 CreateExampleData();   
 //创建内存流对象,初始分配50字节的缓冲区 
 MemoryStream mem = new MemoryStream(50);   
 //向内存流中写入字节数组的所有数据 
 mem.Write(buffer,0,buffer.GetLength(0));   
 MessageBox.Show( "写入数据后的内存流长度: " mem.Length.ToString()); 
 MessageBox.Show( "分配给内存流的缓冲区大小: " mem.Capacity.ToString());   
 mem.SetLength(550);   
 MessageBox.Show( "调用SetLength方法后的内存流长度: " mem.Length.ToString());   
 mem.Capacity = 620;//此值不能小于Length属性 
 MessageBox.Show( "调用Capacity方法后缓冲区大小: " mem.Capacity.ToString());   
 //将读写指针移到距流开头10个字节的位置 
 mem.Seek(10,SeekOrigin.Begin); 
 MessageBox.Show(mem.ReadByte().ToString()); 
 mem.Close(); 
 }内存流的Length属性代表了其中存放的数据的真实长度,而Capacity属性则代表了分配给内存流的内存空间大小。 
 可以使用字节数组创建一个固定大小的MemoryStream, 
 MemoryStream mem = new MemoryStream(buffer);这时,无法再设置Capacity属性的大小。 
 还可以创建只读的内存流对象。 
 MemoryStream mem = new MemoryStream(buffer,false); 
 FlieStream用于存取文件。 
 创建文件并写入内容: 
 //创建一个新文件 
 FileStream fsForWrite = new FileStream( "test.data ",FileMode.Create); 
 try 
 {  
 //写入一个字节 
 fsForWrite.WriteByte(100); 
 CreateExampleData(); 
 //将字节数组写入文件 
 fsForWrite.Write(buffer,0,buffer.GetLength(0)); 
 } 
 catch(Exception ex) 
 {  
 MessageBox.Show(ex.Message); 
 } 
 finally 
 { 
 //关闭文件 
 fsForWrite.Close(); 
 }打开文件并读取内容: 
 private void ReadFromFile() 
 { 
 FileStream fsForRead = new FileStream( "test.data ",FileMode.Open); 
 try 
 { 
 //读入一个字节 
 MessageBox.Show( "文件的第一个字节为: " fsForRead.ReadByte().ToString()); 
 //读写指针移到距开头10个字节处 
 fsForRead.Seek(10,SeekOrigin.Begin); 
 byte[] bs = new byte[10]; 
 //从文件中读取10个字节放到数组bs中 
 fsForRead.Read(bs,0,10); 
 } 
 catch(Exception ex) 
 {  
 MessageBox.Show(ex.Message); 
 } 
 finally 
 { 
 fsForRead.Close(); } 
 }如果一个程序退出了,但它打开的文件没有被关闭,将导致其他程序无法修改或删除此文件。     
 相
------解决方案--------------------MemoryStream派生自Stream,可以传递给给参数为Stream的方法
------解决方案--------------------流的访问方式与内存变量或数组不一样的,作为一个类,有现成的属性和方法可以直接用