zoukankan      html  css  js  c++  java
  • FileStream、StreamReader和StreamWriter

    FileStream、StreamReader和StreamWriter
    FileStream 操作字节的。
    StreamReader和StreamWriter操作字符的。

    //使用FileStream来读取数据
    FileStream fsRead=new FileStream(@"c: ew.txt",FileMode.OpenOrCreate,FileAccess.Read);
    byte[] buffer=new byte[1024*1024*5];
    //3.8M 5M r返回本次实际读取到的有效节数
    int r=fsRead.Read(buffer,0,buffer.Length);
    //将字节数组每一个元素按照指定的编辑格式解码成字符串
    string s=Encodeing.UTF8.GetString(buffer,0,r);
    //关闭流
    fsRead.Close();
    //释放流所点用的资源
    fsRead.Dispose();
    Console.WriteLine(s);
    Console.Readkey();

    //使用FileStream来写入数据
    *将创建文件流对象的过程写在Using当中,会自动地帮助我们释放流所占用的资源。
    using(FileStream fsWrite=new FileStream(@"c: ew.txt",FileMode.OpenOrCreate,FileAccess.Write))
    {
    string str="看我有没有把你覆盖。";
    byte[] buffer=Encoding.UTF8.GetBytes(str);
    fsWrite.Write(buffer,0,buffer.Length);
    }
    Console.WriteLine("写入OK");
    Console.Readkey();


    //使用文件流实现多媒体文件的复制
    //思路:就先将要复制的多媒体文件读出来,然后再写入到你指定的位置。
    string source=@"c:1.wmv";
    string target=@"c:2.wmv";
    CotyFile(source,target);
    public static void CopyFile(string source, string target)
    {
    //1我们一个负责读取的流
    using(FileStream fsRead=new FileStream(source,FileMode.Open,FileAccess.Read))
    {
    //2创建一个负责写入的流
    using(FileStream fsWirte=new FileStream(target,FileMode.OpenOrCreate,FileAccess.Write))
    {
    byte[] buffer=new byte[1024*1024*5];
    while(true)
    {
    //返回本次读取实际读到的字节数
    int r=fsRead(buffer,0,buffer.Length);
    //如果返回一个0,也就是说明没有读到数据,已经读完了。
    if(r==0){break;}
    fsWrite(buffer,0,r);
    }

    }
    }
    }

    //使用StreamReader来取一个文件文件
    using(SteamReader sr=new StreamReader(@"c: ew.txt",Encoding.Default))
    {
    while(!sr.EndOfStream)
    {
    Console.WriteLine(sr.ReadLine());
    }
    }

    //使用StreamWrite来写入一个文件文件
    using(StreamWrite sw=new StreamWrite(@"c: ew.txt",true))//true表示是否追加
    {
    sw.Write("今天天气好晴朗!");
    }

  • 相关阅读:
    第11组(73) 需求分析报告
    第11组(73)团队展示
    结对编程作业
    第02组 Alpha冲刺 总结
    第02组 Alpha冲刺 (6/6)
    第02组 Alpha冲刺 (5/6)
    第02组 Alpha冲刺 (4/6)
    第02组 Alpha冲刺 (3/6)
    第02组 Alpha冲刺 (2/6)
    第02组 Alpha冲刺 (1/6)
  • 原文地址:https://www.cnblogs.com/iceberg2008/p/4133385.html
Copyright © 2011-2022 走看看