BinaryWriter和BinaryReader用法

 C#的FileStream類提供了最原始的字節級上的文件讀寫功能,但咱們習慣於對字符串操做,因而StreamWriter和 StreamReader類加強了FileStream,它讓咱們在字符串級別上操做文件,但有的時候咱們仍是須要在字節級上操做文件,卻又不是一個字節 一個字節的操做,一般是2個、4個或8個字節這樣操做,這便有了BinaryWriter和BinaryReader類,它們能夠將一個字符或數字按指定 個數字節寫入,也能夠一次讀取指定個數字節轉爲字符或數字。 c#

下面看一個實例:指針

BinaryWriter和 BinaryReader類用於讀取和寫入數據,而不是字符串。下面的代碼示例演示如何向新的空文件流 (Test.data) 寫入數據及從中讀取數據。在當前目錄中建立了數據文件以後,也就同時建立了相關的 BinaryWriter和 BinaryReaderBinaryWriter用於向 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

相關文章
相關標籤/搜索