BitConvert in action

image_pdfimage_print


   


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

class Test
{
    public static void Main() 
    {        
        using (StreamWriter output = new StreamWriter("practice.txt")) 
        {
            // Create and write a string containing the symbol for Pi.
            string srcString = "Area = u03A0r^2";

            // Convert the UTF-16 encoded source string to UTF-8 and ASCII.
            byte[] utf8String = Encoding.UTF8.GetBytes(srcString);
            byte[] asciiString = Encoding.ASCII.GetBytes(srcString);
            
            // Write the UTF-8 and ASCII encoded byte arrays. 
            output.WriteLine("UTF-8  Bytes: {0}", BitConverter.ToString(utf8String));
            output.WriteLine("ASCII  Bytes: {0}", BitConverter.ToString(asciiString));
            
            Console.WriteLine(BitConverter.ToString(utf8String));
            Console.WriteLine(BitConverter.ToString(asciiString));
        }
    }
}
           
          


Use BitConvert to convert String, Boolean and Int32

image_pdfimage_print


   


using System;
using System.IO;

class Test {
    public static void Main() {
        byte[] b = BitConverter.GetBytes(true);
        Console.WriteLine(BitConverter.ToString(b));
        Console.WriteLine(BitConverter.ToBoolean(b,0));
        b = BitConverter.GetBytes(3678);
        Console.WriteLine(BitConverter.ToString(b));

        // Convert a byte array to an int and display.
        Console.WriteLine(BitConverter.ToInt32(b,0));
    }
}

           
          


Read and Write a Binary File

image_pdfimage_print
   
 

using System;
using System.IO;

public class BinaryFileTest {

    private static void Main() {
        FileStream fs = new FileStream("test.dat", FileMode.Create);
        BinaryWriter w = new BinaryWriter(fs);

        w.Write(1.2M);
        w.Write("string");
        w.Write("string 2");
        w.Write('!');
        w.Flush();
        w.Close();
        fs.Close();

        fs = new FileStream("test.dat", FileMode.Open);
        StreamReader sr = new StreamReader(fs);
        Console.WriteLine(sr.ReadToEnd());
        fs.Position = 0;
        BinaryReader br = new BinaryReader(fs);
        Console.WriteLine(br.ReadDecimal());
        Console.WriteLine(br.ReadString());
        Console.WriteLine(br.ReadString());
        Console.WriteLine(br.ReadChar());
        fs.Close();

    }
}

    


Read the data from a file and desiralize it

image_pdfimage_print
   

/*
 * 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

image_pdfimage_print
   


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

image_pdfimage_print


   

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

image_pdfimage_print
   

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");
    }
}