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 for .




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:

  1. Install C# (Express or Standard Edition)
  2. Install SQL Server Express
  3. Download Northwind and pubs Database
  4. Attach Northwind Database to Databases in Sql Express
  5. 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:

  1. Use C# 2010 Express or Standard Edition
  2. Create new project;
    • Click File/New Project
    • Select Console Application Template
    • Select C# for Language
    • name of project could be CSharp_Syntax.
  3. CS Syntax File Directory Binary File Read Sequential

  4. Add New folder named “FileDirectory”
    • Right-click project name in solution explorer;
    • add new folder;
    • name of folder could be: FileDirectory
  5. Add Class Named clsBinaryFileReadSequential to FileDirectory folder
    • Right-click FileDirectory folder;
    • add new item;
    • Select class
    • Class name could be clsBinaryFileReadSequential
  6. Click on C# in code in step 1 at top of page to copy code into clsBinaryFileReadSequential.cs
  7. Click on C# in step 2 at top of page to copy code into Program.cs
  8. Click green arrow or press F5 to run program