zoukankan      html  css  js  c++  java
  • 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中。

  • 相关阅读:
    BZOJ 3513: [MUTC2013]idiots(fft)
    BZOJ 2194: 快速傅立叶之二(fft)
    BZOJ 3779: 重组病毒(线段树+lct+树剖)
    LUOGU P3723 [AH2017/HNOI2017]礼物 (fft)
    CF 622F (拉格朗日插值)
    LUOGU P4781 【模板】拉格朗日插值
    bzoj 4184 shallot——线段树分治+线性基
    51nod 1673 树有几多愁——虚树+状压DP
    bzoj 3611(洛谷 4103) [Heoi2014]大工程——虚树
    bzoj 2286(洛谷 2495) [Sdoi2011]消耗战——虚树
  • 原文地址:https://www.cnblogs.com/ddx-deng/p/3755819.html
Copyright © 2011-2022 走看看