zoukankan      html  css  js  c++  java
  • 流与读写器

    FileStream fss = File.OpenRead(@"d:\a.dll");

    FileStream fsd = File.OpenWrite(@"d:\b.dll");

    int bytesRead = 0;

    while ((bytesRead = fss.Read(buffer, 0 , bufferSize)) > 0)

    {

        fsd.Write(buffer, 0, bytesRead);

    }

    fss.Close();

    fsd.Close();

     

     

    Stream si = File.OpenRead(@"d:\a.dll");

    Stream so = File.OpenWrite(@"d:\b.dll");

    BufferedStream bsi = new BufferedStream(si);

    BufferedStream bso = new BufferedStream(so);

    while ((bytesRead = bsi.Read(buffer, 0 , bufferSize)) > 0)

    {

        bso.Write(buffer, 0, bytesRead);

    }

    bio.Flush();

    bsi.Close();

    bso.Close();

     

    TextReader两个子类:StreamReader和StringReader

    • x.Read为从x中读取
    • y.Write为往y中写入
    • 被写入的流可以调用Flush方法
    • 流通常都没有Open方法,也不需要Open
    • 流都有Close方法,且必须调用
    • 使用缓冲流(BufferedStream)会提高效率,因为你自定义的buffer大小不一定是正合适的
    • 流可以叠加、嵌套,可以认为有内在流和外部流之分,当调用外部流的Close方法时,它会自动调用内在流的Close方法
    • 流本身可以认为就是字节流,为了使用方便,我们通常会用...Reader和...Writer
    • 构造...Reader的方法通常有两种:1 File.OpenText类,2 StreamReader sr = new StreamReader(源流)
  • 相关阅读:
    [luogu p1164] 小A点菜
    [luogu p5018] 对称二叉树
    [luogu p1305] 新二叉树
    [luogu p1030] 求先序排列
    [luogu p1087] FBI树
    [luogu p1449] 后缀表达式
    [luogu p1160] 队列安排
    [luogu p1057] 传球游戏
    有趣的问题系列-主元素问题
    [luogu p1192] 台阶问题
  • 原文地址:https://www.cnblogs.com/teamleader/p/988359.html
Copyright © 2011-2022 走看看