• C#--几个数据流Stream;StreamReader;StreamWriter;MemoryStream;BufferStream;


    命名空间:System.IO;

    Stream:

          各种流的基类,不能时行查找操作,Position属性不能修改。读取时不Position不会自动移动,

               HttpWebRequest webreq = (HttpWebRequest)WebRequest.Create(new Uri("http://www.baidu.com/"));
                Stream stream = ((HttpWebResponse)webreq.GetResponse()).GetResponseStream();

                     MemoryStream ms = new MemoryStream();
                stream.CopyTo(ms);把Stream流Copy到MemoryStream。这样可以进行查找操作了。

                stream.ReadByte();从其中读取一个字节,并且把流的位置向前移动一个字节。

    MemoryStream

             把字节数组保存到流中:Byte []b=new byte[4];

                ms.ReadByte()把数据从MemroryStream内存流中读取一个字节出来。

                 ms.Position = 3;MemroyStream支持流的查找操作,Position会随着读取和写入流而自动变化。
                byte []b = new byte[30];字节数组,
                ms.Read(b,0,30);把MemeoryStream流中的数据写入到缓冲区b中,从缓冲区的0位置开始,写入30字节。
                byte [] byt=ms.ToArray();把流MemoryStream保存到字节数组中。这时Position不会变化,与之没有关系,  也就是当Position在流中间的某个位置时,也能把流中所有的数据保存 到字节中。

    StreamReader
         读取流
        StreamReader sr = new StreamReader(stream);用流Stream来初始化读取流StreamReader。
         string str = sr.ReadToEnd();把流中的数据读取出来,形成并保存到字符串。
     StreamWriter
     写入流
     StreamWriter sw = new StreamWriter(stream);以Stream流来初始化StreamWriter流;
     sw.Write(str);把字符串写入流StreamWriter中。

  • 相关阅读:
    多线程 NSThread GCD
    UICollectionView 集合视图用法,自定义Cell
    简单的注册 登录
    数据库sqlite的使用
    沙盒机制 归档 反归档
    图片异步加载 ,KVO
    iOS开发系列--通知与消息机制
    制作iOS Ad-Hoc测试应用
    NT_iOS笔记—判断iPhone6
    iOS开发多线程篇—单例模式(ARC)
  • 原文地址:https://www.cnblogs.com/ddx-deng/p/3755819.html
Copyright © 2020-2023  润新知