Advertisement
majudhu

BinaryFIle.java

Jul 3rd, 2018
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.95 KB | None | 0 0
  1.  
  2. import java.io.File;
  3. import java.io.FileOutputStream;
  4. import java.io.InputStream;
  5. import java.io.ObjectInputStream;
  6. import java.io.ObjectOutputStream;
  7. import java.util.ArrayList;
  8. import java.util.Iterator;
  9. import java.util.List;
  10. import javax.servlet.ServletContext;
  11. import javax.servlet.ServletContextEvent;
  12. import javax.servlet.ServletContextListener;
  13. import model.Student;
  14.  
  15. /*
  16.  * To change this license header, choose License Headers in Project Properties.
  17.  * To change this template file, choose Tools | Templates
  18.  * and open the template in the editor.
  19.  */
  20.  
  21. /**
  22.  *
  23.  * @author majud
  24.  */
  25. public class BinaryFile implements ServletContextListener {
  26.  
  27.     @Override
  28.     public void contextInitialized(ServletContextEvent sce) {
  29.         ServletContext context = sce.getServletContext();
  30.         List<Student> source = null;
  31.         String filename = "/WEB-INF/Student.dat";
  32.         InputStream is = context.getResourceAsStream(filename);
  33.         if (is != null) {
  34.             try {
  35.                 ObjectInputStream objectInputFile = new ObjectInputStream(is);
  36.                 source = (List)(objectInputFile.readObject());
  37.             }
  38.             catch(Exception e) {
  39.                 System.out.println("Input error!");
  40.             }
  41.             if (source==null) {
  42.                 source = new ArrayList<Student>();
  43.                 System.out.println("No data!");
  44.             } else {
  45.                 System.out.println("Data recieved");
  46.             }
  47.             Iterator student = source.iterator();
  48.             while (student.hasNext()) {
  49.                 Student s = (Student)student.next();
  50.                 System.out.println(s.getName()+"\t"+s.getPassword()+"\t"+s.getBalance());
  51.                 }
  52.         } else {
  53.             source = new ArrayList<Student>();
  54.             System.out.println("New file!");
  55.         }
  56.         context.setAttribute("data", source);
  57.         System.out.println("BinaryFile SevletContextListener started");
  58.     }
  59.  
  60.     @Override
  61.     public void contextDestroyed(ServletContextEvent sce) {
  62.         ServletContext context = sce.getServletContext();
  63.         List source=(List)context.getAttribute("data");
  64.         try {
  65.             System.out.println("Printing data!");
  66.             Iterator student = source.iterator();
  67.             while (student.hasNext()) {
  68.                 Student s = (Student)student.next();
  69.                 System.out.println(s.getName()+"\t"+s.getPassword()+"\t"+s.getBalance());
  70.             }
  71.             File outputFile = new File(context.getRealPath("/")+"WEB-INF/Student.dat");
  72.             ObjectOutputStream objectOutputFile = new ObjectOutputStream(new FileOutputStream(outputFile));
  73.             objectOutputFile.writeObject(source);
  74.             System.out.println("DONE");
  75.             objectOutputFile.close();
  76.         } catch (Exception e){
  77.             System.out.println("Outpur error!");
  78.         }
  79.         System.out.println("ServletContextListener destroyed");
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement