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("今天天气好晴朗!");
    }

  • 相关阅读:
    CF 461B Appleman and Tree
    POJ 1821 Fence
    NOIP 2012 开车旅行
    CF 494B Obsessive String
    BZOJ2337 XOR和路径
    CF 24D Broken robot
    POJ 1952 BUY LOW, BUY LOWER
    SPOJ NAPTIME Naptime
    POJ 3585
    CF 453B Little Pony and Harmony Chest
  • 原文地址:https://www.cnblogs.com/iceberg2008/p/4133385.html
Copyright © 2011-2022 走看看