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(源流)
  • 相关阅读:
    人生几宝
    sleep() 和 wait() 有什么区别?
    abstract class和interface有什么区别?
    谈谈final, finally, finalize的区别
    字符串转码【String.getBytes()和new String()】
    Redis中文API地址
    java之ibatis数据缓存
    ibatis的缓存机制
    mysql|表row_format的静态与动态,Compact
    Tesseract ocr 3.02学习记录一
  • 原文地址:https://www.cnblogs.com/teamleader/p/988359.html
Copyright © 2011-2022 走看看