• 保存到桌面加入收藏设为首页
技术

C# 使用FileStream循环读取大文件的方法示例

作者:CrazyEditor   来源:CrazyEditor.cn  

如果遇到大文件,那么我们就需要使用FileStream循环读取文件。
直接上代码。
引用命名空间
using System.IO;
下面就是循环读取大文件的代码

    class Program
{
    static void Main(string[] args)
    {
      //循环读取大文本文件
      FileStream fsRead;
      //获取文件路径
      string filePath="C:\\Users\\国兴\\Desktop\\1号店账号.txt";
      //用FileStream文件流打开文件
      try
      {
        fsRead = new FileStream(@filePath,FileMode.Open);
      }
      catch (Exception)
      {
        throw;
      }
      //还没有读取的文件内容长度
      long leftLength = fsRead.Length;
      //创建接收文件内容的字节数组
      byte[] buffer = new byte[1024];
      //每次读取的最大字节数
      int maxLength=buffer.Length;
      //每次实际返回的字节数长度
      int num=0;
      //文件开始读取的位置
      int fileStart=0;
      while (leftLength>0)
      {
        //设置文件流的读取位置
        fsRead.Position=fileStart;
        if (leftLength
        {
          num=fsRead.Read(buffer,0,Convert.ToInt32(leftLength));
        }
        else{
          num=fsRead.Read(buffer,0,maxLength);
        }
        if (num==0)
        {
          break;
        }
        fileStart += num;
        leftLength -= num;
        Console.WriteLine(Encoding.Default.GetString(buffer));
      }
      Console.WriteLine("end of line");
      fsRead.Close();
      Console.ReadKey();
    }
}


本栏最新更新
本栏推荐
阅读排行

(C) 2018-2019 疯狂小编