C#使用FileStream循環(huán)讀取大文件數(shù)據(jù)的方法示例
本文實例講述了C#使用FileStream循環(huán)讀取大文件數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:
今天學習了FileStream的用法,用來讀取文件流,教程上都是讀取小文件,一次性讀取,但是如果遇到大文件,那么我們就需要循環(huán)讀取文件。
直接上代碼。
引用命名空間
using System.IO;
下面就是循環(huán)讀取大文件的代碼
class Program
{
static void Main(string[] args)
{
//循環(huán)讀取大文本文件
FileStream fsRead;
//獲取文件路徑
string filePath="C:\\Users\\國興\\Desktop\\1號店賬號.txt";
//用FileStream文件流打開文件
try
{
fsRead = new FileStream(@filePath,FileMode.Open);
}
catch (Exception)
{
throw;
}
//還沒有讀取的文件內(nèi)容長度
long leftLength = fsRead.Length;
//創(chuàng)建接收文件內(nèi)容的字節(jié)數(shù)組
byte[] buffer = new byte[1024];
//每次讀取的最大字節(jié)數(shù)
int maxLength=buffer.Length;
//每次實際返回的字節(jié)數(shù)長度
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#相關內(nèi)容感興趣的讀者可查看本站專題:《C#文件操作常用技巧匯總》、《C#遍歷算法與技巧總結(jié)》、《C#程序設計之線程使用技巧總結(jié)》、《C#操作Excel技巧總結(jié)》、《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O計入門教程》
希望本文所述對大家C#程序設計有所幫助。
相關文章
C#?wpf使用DockPanel實現(xiàn)制作截屏框
做桌面客戶端的時候有時需要實現(xiàn)截屏功能,能夠在界面上框選截屏,本文就來為大家介紹一下wpf如何使用DockPanel制作截屏框吧,感興趣的可以了解下2023-09-09
C#結(jié)合數(shù)據(jù)庫實現(xiàn)驗證識別ID卡內(nèi)容的方法
這篇文章主要介紹了C#結(jié)合數(shù)據(jù)庫實現(xiàn)驗證識別ID卡內(nèi)容的方法,非常實用的功能,需要的朋友可以參考下2014-07-07

