Converting byte array into Object and Object into a byte array process is known as deserializing and serializing. The class object which gets serialized/deserialized must implement the interface Serializable.
- Serializable is a marker interface that comes under package ‘java.io.Serializable’.
- Byte Array: Byte Array is only used to store byte data type values. The default value of the elements in a byte array is 0.
- Object: User-defined data type.
For serialized/deserialized, we use class SerializationUtils.
Approach (Using SerializationUtils class)
- Serializing and deserializing are two main functions of this class.
- This class comes under package ‘org.apache.commons.lang3‘.
Serializing (converting Object into a byte array)
Syntax:
public static byte[] serialize(Serializable object)
Parameter: An object that the user wants to serialize.
Returns: Function will return byte array.
Deserializing (converting byte array into Object)
Syntax:
public static Object deserialize(byte[] objectByteArray)
Parameter: Serialized Byte Array.
Returns: Function will return Object.
Example:
Java
// Java Program to Convert Byte Array to Object import java.io.*;
import org.apache.commons.lang3.*;
class gfgStudent implements Serializable {
public int rollNumber;
public String name;
public char gender;
public gfgStudent( int rollNumber, String name,
char gender)
{
this .rollNumber = rollNumber;
this .name = name;
this .gender = gender;
}
} class gfgMain {
public static void main(String arg[])
{
gfgStudent student;
student = new gfgStudent( 101 , "Harsh" , 'M' );
// converting Object to byte array
// serializing the object of gfgStudent class
// (student)
byte byteArray[]
= SerializationUtils.serialize(student);
gfgStudent newStudent;
// converting byte array to object
// deserializing the object of gfgStudent class
// (student) the function will return object of
// Object type (here we are type casting it into
// gfgStudent)
newStudent
= (gfgStudent)SerializationUtils.deserialize(
byteArray);
System.out.println( "Deserialized object" );
System.out.println(newStudent.rollNumber);
System.out.println(newStudent.name);
System.out.println(newStudent.gender);
}
} |
Output :