C#的FileStream類提供了最原始的字節級上的文件讀寫功能,但咱們習慣於對字符串操做,因而StreamWriter和 StreamReader類加強了FileStream,它讓咱們在字符串級別上操做文件,但有的時候咱們仍是須要在字節級上操做文件,卻又不是一個字節 一個字節的操做,一般是2個、4個或8個字節這樣操做,這便有了BinaryWriter和BinaryReader類,它們能夠將一個字符或數字按指定 個數字節寫入,也能夠一次讀取指定個數字節轉爲字符或數字。 c#
下面看一個實例:指針
BinaryWriter和 BinaryReader類用於讀取和寫入數據,而不是字符串。下面的代碼示例演示如何向新的空文件流 (Test.data) 寫入數據及從中讀取數據。在當前目錄中建立了數據文件以後,也就同時建立了相關的 BinaryWriter和 BinaryReader,BinaryWriter用於向 Test.data寫入整數 0 到 10,Test.data將文件指針置於文件尾。在將文件指針設置回初始位置後,BinaryReader讀出指定的內容。字符串
using System; using System.IO; class MyStream { private const string FILE_NAME = "Test.data"; public static void Main(String[] args) { // Create the new, empty data file. if (File.Exists(FILE_NAME)) { Console.WriteLine("{0} already exists!", FILE_NAME); return; } FileStream fs = new FileStream(FILE_NAME, FileMode.CreateNew); // Create the writer for data. BinaryWriter w = new BinaryWriter(fs); // Write data to Test.data. for (int i = 0; i < 11; i++) { w.Write( (int) i); } w.Close(); fs.Close(); // Create the reader for data. fs = new FileStream(FILE_NAME, FileMode.Open, FileAccess.Read); BinaryReader r = new BinaryReader(fs); // Read data from Test.data. for (int i = 0; i < 11; i++) { Console.WriteLine(r.ReadInt32()); } r.Close(); fs.Close(); } }
有關該類的成員參見get
http://msdn.microsoft.com/zh-cn/library/system.io.binaryreader_members%28v=vs.80%29.aspxstring