C#BinaryReader类用于从流中读取二进制信息。它位于System.IO命名空间中。还支持以特定编码方式读取字符串。
C#BinaryReader示例
让无涯教程看一下从dat文件读取数据的BinaryReader类的简单示例。
using System;
using System.IO;
namespace BinaryWriterExample
{
class Program
{
static void Main(string[] args)
{
WriteBinaryFile();
ReadBinaryFile();
Console.ReadKey();
}
static void WriteBinaryFile()
{
using (BinaryWriter writer = new BinaryWriter(File.Open("e:\\binaryfile.dat", FileMode.Create)))
{
writer</span><span class="pun">.</span><span class="typ">Write</span><span class="pun">(</span><span class="lit">12.5</span><span class="pun">);</span><span class="pln">
writer</span><span class="pun">.</span><span class="typ">Write</span><span class="pun">(</span><span class="str">"this is string data"</span><span class="pun">);</span><span class="pln">
writer</span><span class="pun">.</span><span class="typ">Write</span><span class="pun">(</span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> </span><span class="typ">ReadBinaryFile</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">using</span><span class="pln"> </span><span class="pun">(</span><span class="typ">BinaryReader</span><span class="pln"> reader </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">BinaryReader</span><span class="pun">(</span><span class="typ">File</span><span class="pun">.</span><span class="typ">Open</span><span class="pun">(</span><span class="str">"e:\\binaryfile.dat"</span><span class="pun">,</span><span class="pln"> </span><span class="typ">FileMode</span><span class="pun">.</span><span class="typ">Open</span><span class="pun">)))</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="typ">Console</span><span class="pun">.</span><span class="typ">WriteLine</span><span class="pun">(</span><span class="str">"Double Value : "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> reader</span><span class="pun">.</span><span class="typ">ReadDouble</span><span class="pun">());</span><span class="pln">
</span><span class="typ">Console</span><span class="pun">.</span><span class="typ">WriteLine</span><span class="pun">(</span><span class="str">"String Value : "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> reader</span><span class="pun">.</span><span class="typ">ReadString</span><span class="pun">());</span><span class="pln">
</span><span class="typ">Console</span><span class="pun">.</span><span class="typ">WriteLine</span><span class="pun">(</span><span class="str">"Boolean Value : "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> reader</span><span class="pun">.</span><span class="typ">ReadBoolean</span><span class="pun">());</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
输出:
Double Value : 12.5 String Value : this is string data Boolean Value : true