File Stream C#

/*
C#: The Complete Reference 
by Herbert Schildt 
Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/
// Write and then read back binary data. 
 
using System; 
using System.IO;  
 
public class RWData { 
  public static void Main() { 
    BinaryWriter dataOut; 
    BinaryReader dataIn; 
 
    int i = 10; 
    double d = 1023.56; 
    bool b = true; 
 
    try { 
      dataOut = new 
        BinaryWriter(new FileStream("testdata", FileMode.Create)); 
    } 
    catch(IOException exc) { 
      Console.WriteLine(exc.Message + "\nCannot open file."); 
      return; 
    } 
 
    try { 
      Console.WriteLine("Writing " + i); 
      dataOut.Write(i);  
 
      Console.WriteLine("Writing " + d); 
      dataOut.Write(d); 
 
      Console.WriteLine("Writing " + b); 
      dataOut.Write(b); 
 
      Console.WriteLine("Writing " + 12.2 * 7.4); 
      dataOut.Write(12.2 * 7.4); 
 
    } 
    catch(IOException exc) { 
      Console.WriteLine(exc.Message + "\nWrite error."); 
    } 
 
    dataOut.Close(); 
 
    Console.WriteLine(); 
 
    // Now, read them back. 
    try { 
      dataIn = new 
          BinaryReader(new FileStream("testdata", FileMode.Open)); 
    } 
    catch(FileNotFoundException exc) { 
      Console.WriteLine(exc.Message + "\nCannot open file."); 
      return; 
    } 
 
    try { 
      i = dataIn.ReadInt32(); 
      Console.WriteLine("Reading " + i); 
 
      d = dataIn.ReadDouble(); 
      Console.WriteLine("Reading " + d); 
 
      b = dataIn.ReadBoolean(); 
      Console.WriteLine("Reading " + b); 
 
      d = dataIn.ReadDouble(); 
      Console.WriteLine("Reading " + d); 
    } 
    catch(IOException exc) { 
      Console.WriteLine(exc.Message + "Read error."); 
    } 
 
    dataIn.Close();  
  } 
}