BinaryReader and BinaryWriter are the classes that are used to read and write into a binary file. These are just like C# StreamReader and StreamWriter except here we read and write to a binary file.
C# BinaryReader class
This class in C# is used to read binary information from a file. This class is present in System.IO namespace.
The BinaryReader contains the following commonly used methods.
| Methods | Description |
|---|---|
Close() | This method closes the BinaryReader object and the resources associated with it. |
Read() | It reads the character from the stream and increments the position of the stream. |
ReadBoolean() | It is used to read the boolean value and increases the stream by one byte. |
ReadString() | It is used to read a string from the current stream. The string is prefixed with the length, encoded as an integer seven bits at a time. |
C# BinaryWriter Class
The BinaryWriter class is used to write binary information into a stream. This class is present in System.IO namespace.
The BinaryWriter contains the following commonly used methods.
| Methods | Description |
|---|---|
Close() | This method closes the BinaryReader object and the resources associated with it. |
Write(type value) | It is used to write on the current stream. we place the type and value according to the need.Write(bool value) ,Write(byte value) ,Write(char ch), Write(double value) ,Write(int value) ,Write(string value) |
Flush() | It is used to clear all buffers on the current writer and causes any buffered data to be written to the underlying device. |
Seek(int offset, SeekOrigin origin) | It is used to set a position on a current stream in a file. |
Example: C# program for BinaryReader and BinaryWriter classes
using System;
using System.IO;
namespace FileProgram
{
class Program
{
static void Main(string[] args)
{
//BinaryWriter
BinaryWriter bw = new BinaryWriter(new FileStream("sample.dat", FileMode.Create));
bw.Write("This is Simple2code.com.");
bw.Write(23.123);
bw.Write(true);
bw.Write(45);
bw.Close();
//BinaryReader
BinaryReader br = new BinaryReader(new FileStream("sample.dat", FileMode.Open));
Console.WriteLine("String : " + br.ReadString());
Console.WriteLine("Double : " + br.ReadDouble());
Console.WriteLine("Boolean : " + br.ReadBoolean());
Console.WriteLine("Integer : " + br.ReadInt32());
br.Close();
}
}
}
Output: After the execution of the above program a new file sample.dat file will be created and the information written on it will be displayed on the screen.
String : This is Simple2code.com.Double : 23.123
Boolean : True
Integer : 45