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

Home
C# / C Sharp
1.2D Graphics
2.Class Interface
3.Collections Data Structure
4.Components
5.Data Types
6.Database ADO.net
7.Design Patterns
8.Development Class
9.Event
10.File Stream
11.Generics
12.GUI Windows Form
13.Language Basics
14.LINQ
15.Network
16.Office
17.Reflection
18.Regular Expressions
19.Security
20.Services Event
21.Thread
22.Web Services
23.Windows
24.Windows Presentation Foundation
25.XML
26.XML LINQ
C# / C Sharp by API
C# / CSharp Tutorial
C# / CSharp Open Source
C# / C Sharp » File Stream » Binary Read WriteScreenshots 
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
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.