C#使用FileStream循环读取大文件数据的方法
循环读取大文件数据
using System.IO;class Program{//循环读取大文本文件static void Main(string[] args){FileStream fsRead;string filePath="C:\\Users\\filedemo.txt"; //获取文件路径try{fsRead = new FileStream(@filePath,FileMode.Open);//用FileStream文件流打开文件}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();}}