C# Binary File Read Random Example | Binary File Read Random | Source Code
C# Binary File Read Random Example | Binary File Read Random | Source Code
Purpose: – Illustrates the C# Syntax for Random Read of Binary File.
Step 1: Use C# to Cut-n-paste code into clsBinaryFileReadRandom.cs
using System; using System.IO; using Microsoft.VisualBasic; // This example is from http://IdealProgrammer.com public class clsBinaryFileReadRandom { public void Main() { Product prod = new Product(); //Find next available file number int file_num = Microsoft.VisualBasic.FileSystem.FreeFile(); //Open file in random mode so we can write the records Microsoft.VisualBasic.FileSystem.FileOpen(file_num, "Products.DAT", Microsoft.VisualBasic.OpenMode.Random, Microsoft.VisualBasic.OpenAccess.ReadWrite, Microsoft.VisualBasic.OpenShare.Shared, Microsoft.VisualBasic.Strings.Len(prod)); //Write the records try { Microsoft.VisualBasic.FileSystem.FilePut(file_num, new Product(1, "My Little Red Reader", "Book"), -1); Microsoft.VisualBasic.FileSystem.FilePut(file_num, new Product(2, "2001", "Video"), -1); Microsoft.VisualBasic.FileSystem.FilePut(file_num, new Product(3, "Dell Laptop", "Computer"), -1); Microsoft.VisualBasic.FileSystem.FilePut(file_num, new Product(4, "Toyota", "Car"), -1); Microsoft.VisualBasic.FileSystem.FilePut(file_num, new Product(5, "Cat", "Pet"), -1); Microsoft.VisualBasic.FileSystem.FilePut(file_num, new Product(6, "Carrots", "Food"), -1); } catch (FileNotFoundException fileException) { Console.WriteLine("File Does Not Exits"); } catch (FormatException formattingException) { Console.WriteLine("Invalid Format"); } //Read the records ValueType myProd = (ValueType)prod; for (var i = 6; i >= 1; i -= 2) { Microsoft.VisualBasic.FileSystem.FileGet(file_num, ref myProd, i); prod = (Product)myProd; Console.WriteLine(prod.ToString()); } // Close the file. try { Microsoft.VisualBasic.FileSystem.FileClose(file_num); } catch (IOException e) { Console.WriteLine("Cannot close file"); } //pause the console window Console.ReadLine(); } } public struct Product { public int ID; [VBFixedString(25)] public string ProductName; [VBFixedString(25)] public string ProductType; public Product(int new_id, string product_name, string product_type) : this() { ID = new_id; ProductName = product_name; ProductType = product_type; } public override string ToString() { return ID + ": " + ProductName + " " + ProductType; } } |
Step 2: Use 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) { clsBinaryFileReadRandom myBinaryFileReadRandom = new clsBinaryFileReadRandom(); myBinaryFileReadRandom.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 clsBinaryFileReadRandom to FileDirectory folder
- Right-click FileDirectory folder;
- add new item;
- Select class
- Class name could be clsBinaryFileReadRandom
- Click on C# in code in step 1 at top of page to copy code into clsBinaryFileReadRandom.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