Skip to main content

Object serialization in java


Serialization is the conversion of an object to a series of bytes, so that the object can be easily saved to persistent storage or streamed across a communication link. The byte stream can then be deserialized - converted into a replica of the original object.




When you want to serialize an object, that respective class should implement the marker interface serializable. It just informs the compiler that this java class can be serialized. You can tag properties that should not be serialized as transient. You open a stream and write the object into it.

Code for serialization of a java class :



Data.java

package com.codetalk.serialization;

import java.io.Serializable;

public class Data implements Serializable {
 
 private static final long serialVersionUID = 1L;
 
 private String firstName;
 private String lastName;
 
 /**
  * @return the firstName
  */
 public String getFirstName() {
  return firstName;
 }
 /**
  * @param firstName the firstName to set
  */
 public void setFirstName(String firstName) {
  this.firstName = firstName;
 }
 /**
  * @return the lastName
  */
 public String getLastName() {
  return lastName;
 }
 /**
  * @param lastName the lastName to set
  */
 public void setLastName(String lastName) {
  this.lastName = lastName;
 }

}


Serialization.java

package com.codetalk.serialization;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

public class Serialization {

 public static void main(String[] args) {
  
  Data   data = new Data();
  String file = "/home/rakesh/data.txt";
  
  data.setFirstName("Rakesh KR");
  data.setLastName("KR");

  try {
   FileOutputStream   fileOut = new FileOutputStream(file);
   ObjectOutputStream out     = new ObjectOutputStream(fileOut);
   out.writeObject(data);
   out.close();
   fileOut.close();
   System.out.println("Serialized data is saved in : "+file);
  } catch(IOException i) {
   i.printStackTrace();
  } catch(Exception e){
   e.printStackTrace();
  } finally{
   data = null;
  }
 }
}


DeSerialization.java
package com.codetalk.serialization;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;

public class Deserialization {
 
 public static void main(String[] args) {

  Data   data = null;
  String file = "/home/rakesh/data.txt";
  
  try {
   FileInputStream fileIn = new FileInputStream(file);
   ObjectInputStream in   = new ObjectInputStream(fileIn);
   data = (Data) in.readObject();
   in.close();
   fileIn.close();
  } catch (IOException i) {
   i.printStackTrace();
   return;
  } catch (ClassNotFoundException c) {
   System.out.println("Data class not found");
   c.printStackTrace();
  }
  
  System.out.println("Deserializing Object...");
  System.out.println("First Name  : "+data.getFirstName());
  System.out.println("Last  Name  : "+data.getLastName());
  
 }
 
}


Output :
Deserializing Object...
First Name  : Rakesh KR
Last  Name  : KR

Comments

Popular posts from this blog

ജാവാ വളരെ സിമ്പിൾ ആണ് , പവർഫുൾ ഭയങ്കര പവർഫുൾ ആണ്.

ജാവ യെ  കുറിച്ച്  മലയാളത്തിൽ  ഡോകുമെന്റുകളോ  ബ്ലോഗ്‌കളോ  കൂടുതൽ ഇല്ലാത്തതുകൊണ്ട് എനികറിയവുന്നത് ഷെയർ ചെയ്യാം എന്ന് വിചാരിച്ചു .  ജവയെ കുറിച്ച് പറയുകയാണെങ്കിൽ  ജാവാ വളരെ സിമ്പിൾ ആണ് , പവർഫുൾ  ഭയങ്കര പവർഫുൾ ആണ്. :) 1. നമ്മടെ Sun MicroSystems 1995 ൽ തുടങ്ങി വച്ചാ സംഭവമാണിത് . 2. ഇപ്പൊ ജാവയുടെ എട്ടാമത്തെ വെർഷൻ  വരെ ഇറങ്ങികഴിഞ്ഞു . ജാവയുടെ തിയറിയെ കുറിച്ച് എനിക്ക് പറയാൻ താല്പര്യം  ഇല്ലാ, അത് അറിവിള്ളവർ നല്ലപോലെ പറഞ്ഞിടുണ്ട്. നമുക്ക് ഡയറക്റ്റ്  ആയി കോഡിംഗ് പാർട്ടിലേക്ക്  പോകാം. എങ്ങനെയാ ജാവ ഇൻസ്റ്റോൾ ചെയണ്ടേ എന്നൊക്കെ ഒന്ന് ഗൂഗിൾനോട് ചോദിച്ചാ മതി പുള്ളി പറഞ്ഞുതരും. പിന്നെ എല്ലാവരും പറയുന്നു ജാവാ Object  Oriented ആണെന്ന് . അതെ ജാവാ Object Oriented ആണ് . എന്താണ് Object ?, Object  നു വച്ചാ ഒരു സാധനം അത്രതന്നെ. ഇപ്പൊ example പറയുകയാണെങ്കിൽ Book ഒരു സാധനമാണ് . Book റ്റെ പ്രതേകത എന്തൊക്കെ അന്നെന്നുവച്ചാ ആതിനൊരു Auther ഉണ്ടാകും, അതൊരു Category ൽ പെട്ട book ആയിരിക്കും (Novel / Academic ) പിന്നെ ഓരോ bookനും അ...

Angular (web framework)

 Angular is a TypeScript-based free and open-source web application framework lead by the Angular Team at Google and by a community of individuals and corporations. Angular is a complete rewrite from the same team that built AngularJS. Google designed Angular as a ground-up rewrite of AngularJS. Angular 14 was released on June 02, 2022. Some new features include typed forms, standalone components, and new primitives in the Angular CDK (component dev kit). All the major releases are supported for 18 months.  This consists of 6 months of active support, during which regularly-scheduled updates and patches are released. It is then followed by 12 months of long-term support (LTS), during which only critical fixes and security patches are released. Official website :- https://angular.io/

Java String Token

Problem    Given a string, find number of words in that string.     For this problem a word is defined by a string of one or more english alphabets. Input Format   A string not more than 400000 characters long.    The string can be defined by following regular expression:       [A-Za-z !,?.\_'@]+   That means the string will only contain english alphabets,    blank spaces and this characters: "!,?._'@". Output Format   In the first line, print number of words nn in the string.    The words don't need to be unique. In the next nn lines,    print all the words you found in the order they appeared in the input. Sample Input   He is a very very good boy, isn't he? Sample Output 10 He is a very very good boy isn t he Solution import java.io.* ; import java.util.* ; public class Solution { ...