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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | 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