C# Binary File Read Sequential Example | Binary File Read Sequential | Source Code
C# Binary File Read Sequential Example | Binary File Read Sequential | Source Code
Purpose: – Illustrates the C# Syntax for Sequential Read of Binary File.
Step 1: Click on C# to Cut-n-paste code into clsBinaryFileReadSequential.cs
using System.IO; using System.Collections; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization; using Microsoft.VisualBasic; using System; public class clsBinaryFileReadSequential { public void Main() { BinaryFormatter formatter = new BinaryFormatter(); FileStream output = null; string fileName = "books.dat"; try { output = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write); Book Book = new Book(1, "The Republic", "Plato"); formatter.Serialize(output, Book); Book = new Book(2, "Romeo & Juliet", "Shakespeare"); formatter.Serialize(output, Book); Book = new Book(3, "The Symposium", "Plato"); formatter.Serialize(output, Book); output.Close(); } catch (FileNotFoundException fileException) { Console.WriteLine("File Does Not Exits"); } catch (SerializationException serializableException) { Console.WriteLine("Error Writing to File"); } catch (FormatException formattingException) { Console.WriteLine("Invalid Format"); } catch (IOException e) { Console.WriteLine("Cannot close file"); } FileStream input = null; BinaryFormatter reader = new BinaryFormatter(); input = new FileStream(fileName, FileMode.Open, FileAccess.Read); int intFileLength = (Int32)input.Length; while (input.Position < intFileLength) { try { Book myBook = (Book)(reader.Deserialize(input)); Console.WriteLine(myBook); } catch (SerializationException serializableException) { Console.WriteLine("Serialization Exception"); } } input.Close(); Console.WriteLine("No more records in file"); Console.ReadLine(); } } [Serializable()] public struct Book { public int ID; [VBFixedString(25)] public string BookName; [VBFixedString(25)] public string BookAuthor; public Book(int new_id, string Book_name, string Book_author) : this() { ID = new_id; BookName = Book_name; BookAuthor = Book_author; } public override string ToString() { return ID + ": " + BookName + " " + BookAuthor; } } |
Step 2: Click on C# to Cut-n-paste code into Program.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CSharp_Syntax { class Program { static void Main(string[] args) { clsBinaryFileReadSequential myBinaryFileReadSequential = new clsBinaryFileReadSequential(); myBinaryFileReadSequential.Main(); } } } |
Prerequistes:
- Install C# (Express or Standard Edition)
- Install SQL Server Express
- Download Northwind and pubs Database
- Attach Northwind Database to Databases in Sql Express
- Attach pubs Database to Databases in Sql Express
Notes:
- Console Application is used to simplify things, but Windows Forms or Web Forms could also be used
- You can build a library of syntax examples by using same project over and over and just commenting out what you do not want to execute in Module1.vb
Instructions:
- Use C# 2010 Express or Standard Edition
- Create new project;
- Click File/New Project
- Select Console Application Template
- Select C# for Language
- name of project could be CSharp_Syntax.
- Add New folder named “FileDirectory”
- Right-click project name in solution explorer;
- add new folder;
- name of folder could be: FileDirectory
- Add Class Named clsBinaryFileReadSequential to FileDirectory folder
- Right-click FileDirectory folder;
- add new item;
- Select class
- Class name could be clsBinaryFileReadSequential
- Click on C# in code in step 1 at top of page to copy code into clsBinaryFileReadSequential.cs
- Click on C# in step 2 at top of page to copy code into Program.cs
- Click green arrow or press F5 to run program