Click here to watch in Youtube :
https://www.youtube.com/watch?v=4xxAzIztgS8&list=UUhwKlOVR041tngjerWxVccw
Click the below Image to Enlarge
Java Tutorial : Java IO (Java Super class not implements Externalizable | Java externalization) |
public class Person { private int age; private double height; private double weight; public Person() { } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getHeight() { return height; } public void setHeight(double height) { this.height = height; } public double getWeight() { return weight; } public void setWeight(double weight) { this.weight = weight; } }
import java.io.Externalizable; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; public class Employee extends Person implements Externalizable { private int id; private String name; public Employee() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Employee [getId()=" + getId() + ", getName()=" + getName() + ", getAge()=" + getAge() + ", getHeight()=" + getHeight() + ", getWeight()=" + getWeight() + "]"; } @Override public void writeExternal(ObjectOutput out) throws IOException { System.out.println("Inside writeExternal"); /* * Since superclass does not implement * externalizable, we need to serialize super class * field in this class itself * * Person class[Super class] fields */ out.writeInt(super.getAge()); out.writeDouble(super.getHeight()); out.writeDouble(super.getWeight()); /* Employee class fields */ out.writeInt(id); out.writeObject(name); } @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { System.out.println("Inside readExternal"); /* * Since superclass does not implement * externalizable, we need to deserialize super * class field in this class itself. * * Person class[Super class] fields. */ super.setAge(in.readInt()); super.setHeight(in.readDouble()); super.setWeight(in.readDouble()); /* Employee class fields */ id = in.readInt(); name = (String) in.readObject(); } }
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; public class ExternalizableWrite { public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException { ExternalizableWrite externalizableWrite = new ExternalizableWrite(); externalizableWrite.writeEmployeeObject(); } private void writeEmployeeObject() throws FileNotFoundException, IOException { FileOutputStream fileOutputStream = null; ObjectOutputStream objectOutputStream = null; //Serialize try { fileOutputStream = new FileOutputStream("employee.ser"); objectOutputStream = new ObjectOutputStream(fileOutputStream); Employee employee = new Employee(); employee.setId(101); employee.setName("Peter"); employee.setAge(25); employee.setHeight(4.7d); employee.setWeight(60d); System.out.println("Before Serializing."); System.out.println(employee.toString()); /* * Write the specified object to the * ObjectOutputStream. */ objectOutputStream.writeObject(employee); System.out .println("Successfully written employee object to the file.\n"); } finally { if (objectOutputStream != null) { /* * Closing a ObjectOutputStream will also * close the OutputStream instance to which * the ObjectOutputStream is writing. */ objectOutputStream.close(); } } } }
Before Serializing. Employee [getId()=101, getName()=Peter, getAge()=25, getHeight()=4.7, getWeight()=60.0] Inside writeExternal Successfully written employee object to the file.employee.ser
ExternalizableRead.java
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.ObjectInputStream; public class ExternalizableRead { public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException { ExternalizableRead externalizableRead = new ExternalizableRead(); externalizableRead.readEmployeeObject(); } private void readEmployeeObject() throws IOException, FileNotFoundException, ClassNotFoundException { FileInputStream fileInputStream = null; ObjectInputStream objectInputStream = null; //Deserialize try { fileInputStream = new FileInputStream("employee.ser"); objectInputStream = new ObjectInputStream(fileInputStream); /* * Read an object from the ObjectInputStream. */ Employee employee = (Employee) objectInputStream.readObject(); System.out .println("Successfully read employee object from the file.\n"); System.out.println("After DeSerializing."); System.out.println(employee.toString()); } finally { if (objectInputStream != null) { /* * Closing a ObjectInputStream will also * close the InputStream instance from which * the ObjectInputStream is reading. */ objectInputStream.close(); } } } }
Inside readExternal Successfully read employee object from the file. After DeSerializing. Employee [getId()=101, getName()=Peter, getAge()=25, getHeight()=4.7, getWeight()=60.0]
https://sites.google.com/site/ramj2eev1/home/javabasics/JavaIODemo_SuperClass_Not_Externalizable_App.zip?attredirects=0&d=1
Github Link:
https://github.com/ramram43210/Java/tree/master/BasicJava/JavaIODemo_SuperClass_Not_Externalizable_App
Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/9f822df4c81f286daa095d86846058f3a9c16303/BasicJava/JavaIODemo_SuperClass_Not_Externalizable_App/?at=master
See also:
No comments:
Post a Comment