C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C# FileStream循环读取大文件数据

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

作者:番兄

这篇文章主要介绍了C#使用FileStream循环读取大文件数据的方法,结合实例形式分析了FileStream文件流的形式循环读取大文件的相关操作技巧,需要的朋友可以参考下

本文实例讲述了C#使用FileStream循环读取大文件数据的方法。分享给大家供大家参考,具体如下:

今天学习了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<maxLength)
        {
          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#相关内容感兴趣的读者可查看本站专题:《C#文件操作常用技巧汇总》、《C#遍历算法与技巧总结》、《C#程序设计之线程使用技巧总结》、《C#操作Excel技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程

希望本文所述对大家C#程序设计有所帮助。

您可能感兴趣的文章:
阅读全文