一、使用BinaryWriter类进行二进制写入
BinaryWriter类是除了FileStream和StreamWriter之外的另一种向文件写入数据的方式。与之前两种方式不同的是BinaryWriter类以二进制形式将基元类型写入流,并支持用特定的编码写入字符串。其构造方法与常用的方法如下:
BinaryWriter() (初始化向流中写入BinaryWriter类的新实例)
BinaryWriter(Stream) (基于所提供的流,用UTF-8作为字符串编码来初始化BinaryWriter类的新实例)
BinaryWriter(Stream,Encoding) (基于所提供的流和特定的字符编码,初始化BinaryWriter类的新实例)
方法:
Close (关闭当前的BinaryWriter对象和基础流)
Write (将值写入流)
实例:
Class BinaryWriterTest
{
public static void Main(String[ ] args)
{
FileStream m_FS = new FileStream(@ "C:\Data.dat ", FileMode.Create);
BinaryWriter m_BW = new BinaryWriter(m_FS);//通过文件流创建相应的BinaryWriter
for (int i =0;i<11;i++)
{
m_BW.Write((int) i); //向C:\Data.dat中写入数据
}
m_BW.Close();
m_FS.Close();
Console.WriteLine("Write to Data File Succeed!");
Console.ReadLine();
}
}
二、使用BinaryReader类进行二进制读取
BinaryReader类是和BinaryWriter类相对应的二进制数据读取类。BinaryReader类用特定的编码将基元数据类型读作二进制值。其应用方法与BinaryWriter大致相同,其构造方法和常用方法如下:
BinaryReader(Stream) (基于所提供的流,用UTF-8 Encoding初始化BinaryReader类的新实例)
BinaryReader(Stream,Encoding) (基于所提供的流和特定的字符编码,初始化BinaryReader类的新实例)
方法:
Close (关闭当前阅读器及基础流)
Read (从基础流中读取字符,并提升流的当前位置)
此外BinaryReader类还提供了诸如ReadChar、ReadByte和ReadInt32等方法
实例:
Class BinaryReaderTest
{
public static void Main(String[ ] args)
{
FileStream m_FS = new FileStream(@ "C:\Data.dat",FileMode.Open,FileAccess.Read);
BinaryReader m_BR = new BinaryReader(m_FS);//通过文件流创建相应的BinaryReader
for(int i=0;i<11;i++)
{
Console.WriteLine(m_BR.ReadInt32());
}
m_BR.Close();
m_FS.Close();
Console.ReadLine();
}
}