C#使用FileStream循環(huán)讀取大文件數(shù)據(jù)的方法示例
本文實例講述了C#使用FileStream循環(huán)讀取大文件數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:
今天學(xué)習(xí)了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) { //設(shè)置文件流的讀取位置 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(); } }
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#文件操作常用技巧匯總》、《C#遍歷算法與技巧總結(jié)》、《C#程序設(shè)計之線程使用技巧總結(jié)》、《C#操作Excel技巧總結(jié)》、《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計入門教程》
希望本文所述對大家C#程序設(shè)計有所幫助。
相關(guān)文章
Winform圓形環(huán)繞的Loading動畫實現(xiàn)代碼
這篇文章主要介紹了Winform圓形環(huán)繞的Loading動畫實現(xiàn)代碼,有需要的朋友可以參考一下2014-01-01C#實現(xiàn)的上傳圖片、保存圖片、加水印、生成縮略圖功能示例
這篇文章主要介紹了C#實現(xiàn)的上傳圖片、保存圖片、加水印、生成縮略圖功能,結(jié)合實例形式較為詳細(xì)的分析了C#圖片上傳、保存、水印、縮略圖等相關(guān)操作技巧,需要的朋友可以參考下2019-02-02