檔案流
FileStream、StreamReader和StreamWriter可以操作大檔案;
FileStream 操作位元組;可以操作任何類型的檔案;
StreamReader和StreamWriter操作字元;
FileStream
方法名 作用 參數
FileStream() 建立FileStream對象 第一個是路徑,第二個是檔案模式FIleMode枚舉,第三個資料模式FileAcess
Read() 分部分讀取檔案,返回實際讀到的有效位元組數,如果讀得數量不是第三個參數指定的,就用空填充 第一個是存放的位元組數組,表示從哪個地方往數組裡放數組?,每次最多讀多少
Write() 把位元組數組寫入 第一個參數是位元組數組,第二個參數表示從哪個地方開始寫入,第三個參數表述最多寫多少
close(),dispose() 關閉流,釋放流所佔用的資源
FileMode OpenOrCreate , Append
FileAcess. Read 、Write、ReadWirte
將建立檔案流對象的過程寫在using當中,會自動協助我們釋放資源;
StreamReader和StreamWriter
可以用來讀取格式化文字檔;
有ReadLine和Write WriteLine方法
<code class="language-C# hljs cs">using System;using System.Collections.Generic;using System.Diagnostics;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks; namespace 用FileStream讀寫檔案{ class Program { static void Main(string[] args) { String str = @"E:\下載\軟體"; Stopwatch sw = new Stopwatch(); sw.Start(); using (FileStream fsWriter = new FileStream(str + @"\opencv-3.0.exe", FileMode.Create, FileAccess.Write)) { using (FileStream fsReader = new FileStream(str + @"\opencv-2.4.9.exe", FileMode.Open, FileAccess.Read)) { byte[] bytes=new byte[1024*4];//4kB是合適的; int readNum; while((readNum=fsReader.Read(bytes,0,bytes.Length))!=0)//小於說明讀完了 { fsWriter.Write(bytes,0,readNum); } }//suing reader }//using writer sw.Stop(); Console.WriteLine("總的已耗用時間為{0}",sw.ElapsedMilliseconds); Console.ReadKey(); }//main }//class}</code>
以上就是c#的FileStream檔案流的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!