控制一下 开始位置和读取长度不就解决了
[C#] 纯文本查看 复制代码 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();
}
} |