File Stream C#

/*
C#: The Complete Reference 
by Herbert Schildt 
Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/
/* Use BinaryReader and BinaryWriter to implement 
   a simple inventory program. */ 
 
using System; 
using System.IO;  
 
public class Inventory { 
  public static void Main() { 
    BinaryWriter dataOut; 
    BinaryReader dataIn; 
 
    string item; // name of item 
    int onhand;  // number on hand 
    double cost; // cost 
 
    try { 
      dataOut = new 
        BinaryWriter(new FileStream("inventory.dat", 
                                    FileMode.Create)); 
    } 
    catch(IOException exc) { 
      Console.WriteLine(exc.Message + "\nCannot open file."); 
      return; 
    } 
 
    // Write some inventory data to the file. 
    try { 
      dataOut.Write("Hammers");  
      dataOut.Write(10); 
      dataOut.Write(3.95); 
 
      dataOut.Write("Screwdrivers");  
      dataOut.Write(18); 
      dataOut.Write(1.50); 
 
      dataOut.Write("Pliers");  
      dataOut.Write(5); 
      dataOut.Write(4.95); 
 
      dataOut.Write("Saws");  
      dataOut.Write(8); 
      dataOut.Write(8.95); 
    } 
    catch(IOException exc) { 
      Console.WriteLine(exc.Message + "\nWrite error."); 
    } 
 
    dataOut.Close(); 
 
    Console.WriteLine(); 
 
    // Now, open inventory file for reading. 
    try { 
      dataIn = new 
          BinaryReader(new FileStream("inventory.dat", 
                       FileMode.Open)); 
    } 
    catch(FileNotFoundException exc) { 
      Console.WriteLine(exc.Message + "\nCannot open file."); 
      return; 
    } 
 
    // Lookup item entered by user. 
    Console.Write("Enter item to lookup: "); 
    string what = Console.ReadLine(); 
    Console.WriteLine(); 
 
    try { 
      for(;;) { 
        // Read an inventory entry. 
        item = dataIn.ReadString(); 
        onhand = dataIn.ReadInt32(); 
        cost = dataIn.ReadDouble(); 
 
        /* See if the item matches the one requested. 
           If so, display information */ 
        if(item.CompareTo(what) == 0) { 
          Console.WriteLine(onhand + " " + item + " on hand. " + 
                            "Cost: {0:C} each", cost); 
          Console.WriteLine("Total value of {0}: {1:C}." , 
                            item, cost * onhand); 
          break; 
        } 
      } 
    } 
    catch(EndOfStreamException) { 
      Console.WriteLine("Item not found."); 
    } 
    catch(IOException exc) { 
      Console.WriteLine(exc.Message + "Read error."); 
    } 
 
    dataIn.Close();  
  } 
}