Convert between Java Byte Array to Object [2021]
We will cover java byte array to Object conversion and cast object to byte array in Java in this tutorial.
Java Byte Array to Object
To convert Java byte array to Object we use this below code-snippet.
In this code-snippet, we are taking byte array as input parameter and converting that byte array to ByteArrayInputStram object and then creating ObjectInput stream object using ByteArrayInputStram instance and then finally converting to object using ObjectInput instance readObject() method.
// To convert byteArray to object
private static Object fromByteArrayToObject(byte[] byteArr)
throws IOException, ClassNotFoundException {
if (Objects.nonNull(byteArr)) {
ByteArrayInputStream bis =
new ByteArrayInputStream(byteArr);
ObjectInput in = new ObjectInputStream(bis);
return in.readObject();
}
return null;
}
Cast Object to Byte Array in Java
To cast Object to Byte Array in Java we will use below code snippet.
In this code-snippet, we are taking an object as an input parameter and then converting an object to a byte array using ByteArrayOutputStram.toByteArray() method.
// To cast object to byte array in java
private static byte[] fromObjectToByteArray(Object obj)
throws IOException {
if (Objects.nonNull(obj)) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try (ObjectOutputStream os = new ObjectOutputStream(bos)) {
os.writeObject(obj);
}
return bos.toByteArray();
}
return null;
}
Complete Example
Student Object
import java.io.Serializable;
public class Student implements Serializable {
private static final long serialVersionUID = 211268099661671010L;
private int rollNo;
private String firstName;
private String lastName;
private String email;
public Student() {
super();
}
public Student(int rollNo, String firstName, String lastName, String email) {
super();
this.rollNo = rollNo;
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
}
public int getRollNo() {
return rollNo;
}
public void setRollNo(int rollNo) {
this.rollNo = rollNo;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "Student [rollNo=" + rollNo + ", firstName=" + firstName + ", lastName=" + lastName + ", email=" + email
+ "]";
}
}
Execution Class
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Objects;
public class ByteArrayToObjectAndViceVersa {
public static void main(String[] args) throws IOException, ClassNotFoundException {
Student student = new Student(1, "Abhishek", "Kumar", "abc@xyz.com");
// Converting object to byte array
byte studentArray[] = fromObjectToByteArray(student);
System.out.println(studentArray);
// Converting byte array back to object
Student studentObject = (Student) fromByteArrayToObject(studentArray);
System.out.println(studentObject);
}
// To convert byteArray to object
private static Object fromByteArrayToObject(byte[] byteArr) throws IOException, ClassNotFoundException {
if (Objects.nonNull(byteArr)) {
ByteArrayInputStream bis = new ByteArrayInputStream(byteArr);
ObjectInput in = new ObjectInputStream(bis);
return in.readObject();
}
return null;
}
// To cast object to byte array in java
private static byte[] fromObjectToByteArray(Object obj) throws IOException {
if (Objects.nonNull(obj)) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try (ObjectOutputStream os = new ObjectOutputStream(bos)) {
os.writeObject(obj);
}
return bos.toByteArray();
}
return null;
}
}
Output:
[B@4aa298b7
Student [rollNo=1, firstName=Abhishek, lastName=Kumar, email=abc@xyz.com]
Conclusion:
In this tutorial, we have covered how we can convert Java Byte Array to Object and Cast Object to Byte Array in Java.
Thanks for reading this tutorial so far. If you like this tutorial then please share it with your friends and colleagues. If you have any questions, doubts, suggestions, or feedback then please drop a comment and I'll try to answer your question.
Happy Learning!!!
Comments
Post a Comment
If you have any doubts, Please let me know.