Read the data from a file and desiralize it

   

/*
 * C# Programmers Pocket Consultant
 * Author: Gregory S. MacBeth
 * Email: gmacbeth@comporium.net
 * Create Date: June 27, 2003
 * Last Modified Date:
 * Version: 1
 */
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

namespace Client.Chapter_11___File_and_Streams
{
  public class Class1Chapter_11___File_and_Streams {
    [STAThread]
    static void Main(string[] args)
    {
      Point p1 = new Point();

      p1.xpoint = 0x1111;
      p1.ypoint = 0x2222;

      // Opens a file and serializes the object into it.
      Stream stream = File.Open("onepoint.bin", FileMode.Create);
      BinaryFormatter bformatter = new BinaryFormatter();

      bformatter.Serialize(stream, p1);
      stream.Close();

      //Read the data from a file and desiralize it
      Stream openStream = File.Open("onepoint.bin", FileMode.Open);
      Point desierializedPoint = new Point();

      desierializedPoint = (Point)bformatter.Deserialize(openStream);
    }
  }
  [Serializable()]
  class Point
  {
    public int xpoint;
    public int ypoint;
  }

}

           
          


File pointer move and read binary file

   


using System;
using System.IO;
using System.Text;

class Class1{
  static void Main(string[] args)  {
         byte[] byData = new byte[100];
         char[] charData = new Char[100];

         try {
            FileStream aFile = new FileStream("practice.txt",FileMode.Open);
            aFile.Seek(55,SeekOrigin.Begin);
            aFile.Read(byData,0,100);
         }
         catch(IOException e)
         {
            Console.WriteLine("An IO exception has been thrown!");
            Console.WriteLine(e.ToString());
            Console.ReadLine();
            return;
         }

         Decoder d = Encoding.UTF8.GetDecoder();
         d.GetChars(byData, 0, byData.Length, charData, 0);

         Console.WriteLine(charData);
         return;
  }
}

           
          


Working with the BinaryReader Class


   

using System;
using System.IO;
   
class MainClass {
    static public void Main() {
        FileStream    BinaryFile = new FileStream("test.dat", FileMode.Create, FileAccess.ReadWrite);
        BinaryReader  Reader = new BinaryReader(BinaryFile);
        BinaryWriter  Writer = new BinaryWriter(BinaryFile);
        
        Writer.Write('a');
        Writer.Write(123);
        Writer.Write(456.789);
        Writer.Write("test string");

        char   ReadCharacter;
        double ReadDouble;
        int    ReadInteger;
        string ReadString;
        
        BinaryFile.Seek(0, SeekOrigin.Begin);
        ReadCharacter = Reader.ReadChar();
        ReadInteger = Reader.ReadInt32();
        ReadDouble = Reader.ReadDouble();
        ReadString = Reader.ReadString();
   
        Console.WriteLine("Character: {0}", ReadCharacter);
        Console.WriteLine("Integer: {0}", ReadInteger);
        Console.WriteLine("Double: {0}", ReadDouble);
        Console.WriteLine("String: {0}", ReadString);
    }
}


           
          


Working with the BinaryWriter Class

   

using System;
using System.IO;
   
class MainClass
{
    static public void Main()
    {
     FileStream BinaryFile = new FileStream("test.dat", FileMode.Create, FileAccess.ReadWrite);
     BinaryWriter  Writer = new BinaryWriter(BinaryFile);

     Writer.Write('a');
     Writer.Write(123);
     Writer.Write(456.789);
     Writer.Write("test string");
    }
}