FileStream 類讀寫操作
阿新 • • 發佈:2017-07-21
返回值 pos nco lin 字節數組 adk buffer spa txt
1.讀取
static void Main(string[] args) { /* * File類最大的問題是,一次性讀取,如果文件較大的話,會給內存造成很大壓力。 * 文件流:把一個較大的文件,可以分成一點一點的讀取和寫入,內存壓力很小。 * 三種文件流類:FileStream:操作字節(byte),可讀可寫,可以操作任何文件。 * StreamReader+StreamWriter:操作字符,操作文本文件。*/ //1、創建文件流對象 string path=@"D:\CSharp_Net\課件\相約未知地帶.txt"; FileStream fsRead = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read); //2、創建一個讀取緩沖區,可以保存3MB的數據 byte[] buffer=new byte[1024*1024*3]; //3、讀取數據,返回值表示的是每次讀取到的實際字節數 intr = fsRead.Read(buffer, 0, buffer.Length); //4、把讀取到的字節型數據,解析成字符串 string s = Encoding.Default.GetString(buffer,0,r); //5、GC有一些資源是無法去回收的,FileStream就是其中的一種 //所以,需要手動將FileStream對象所占的資源釋放掉 fsRead.Close();//關閉對象 fsRead.Dispose();//釋放資源 Console.WriteLine(s); Console.ReadKey(); }
2.寫入
static void Main(string[] args) { string path = @"D:\CSharp_Net\課件\Test.txt"; //將實現了IDisposable接口的類的對象放進using裏面, //結束using過程後,會自動調用Dispose方法來釋放對象所占的資源 //創建寫入對象 using(FileStream fsWrite=new FileStream(path,FileMode.OpenOrCreate,FileAccess.Write)) { //寫入的內容 string s="譚科,我好想你啊。"; //將要寫入的內容解析成字節數組 byte[] buffer = Encoding.Default.GetBytes(s); //將字節數組內容寫入文件 fsWrite.Write(buffer, 0, buffer.Length); } Console.WriteLine("寫入成功"); Console.ReadKey(); } }
FileStream 類讀寫操作