好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#使用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#程序设计有所帮助。

dy("nrwz");

查看更多关于C#使用FileStream循环读取大文件数据的方法示例的详细内容...

  阅读:68次