Use BinaryReader and BinaryWriter to implement a simple inventory program : Binary Read Write « File Stream « C# / C Sharp






Use BinaryReader and BinaryWriter to implement a simple inventory program

Use BinaryReader and BinaryWriter to implement 
   a simple inventory program
  
/*
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();  
  } 
}


           
         
    
  








Related examples in the same category

1.Binary Writer Reader
2.new BinaryReader(stream)
3.StreamWriter and BinaryWriter
4.new BinaryWriter(stream) and Write method
5.Creating a sequential-access file
6.Reading a sequential-access fileReading a sequential-access file
7.BinaryWriter and BinaryReader classes for the writing and reading of primitive typesBinaryWriter and BinaryReader classes for the writing and reading of primitive types
8.Working with the BinaryWriter Class
9.Working with the BinaryReader ClassWorking with the BinaryReader Class
10.File pointer move and read binary file
11.Write and then read back binary dataWrite and then read back binary data
12.Read the data from a file and desiralize it
13.Read and Write a Binary File
14.Read Struct out of a file with BinaryReader
15.extends BinaryReader
16.Write a value at a given position. Used to write a size of data in an earlier located header.