Page 381 - Cs_withBlue_J_C11_Flipbook
P. 381

dout.writeUTF(productN);
                                           dout.writeDouble(price);
                                           dout.writeInt(quantity);
                                           dout.writeInt(reorder);
                                       }
                                   }
                               }
                               catch(EOFException e)
                               {
                                   System.out.println("=======EOF=========");
                                   eof=true;
                               }
                               din.close();fin.close();
                               dout.close();fout.close();
                               // Deleting Product.dat and renaming Newproduct.dat as Product.dat
                               File f1=new File("Product.dat");
                               f1.delete();
                               File f2=new File("Newproduct.dat");
                               boolean b=f2.renameTo(f1);
                               if(b)
                                   System.out.println("File renamed successfully");
                               else
                                   System.out.println("File error");
                           }
                           void addItem() throws IOException
                           {
                               FileOutputStream fout=new FileOutputStream("Newproduct.dat");
                               DataOutputStream dout=new DataOutputStream(fout);
                               FileInputStream fin=new FileInputStream("Product.dat");
                               DataInputStream din=new DataInputStream(fin);
                               int ino,qty;
                               System.out.println("Enter item number");
                               ino=sc.nextInt();
                               System.out.println("Enter quantity bought");
                               qty=sc.nextInt();
                               boolean eof=false;
                               try
                               {
                                   while(!eof)
                                   {
                                       productC = din.readInt();
                                       productN=din.readUTF();
                                       price=din.readDouble();
                                       quantity=din.readInt();
                                       reorder=din.readInt();
                                       if(productC==ino)  //If product code matches
                                       {
                                           quantity=quantity + qty;
                                       }    //quantity is added
                                       dout.writeInt(productC);
                                       dout.writeUTF(productN);


                                                                                                                       379
                                                                                 Basic Input/Output and Data File Handling    379
   376   377   378   379   380   381   382   383   384   385   386