JavaBeat

  • Home
  • Java
    • Java 7
    • Java 8
    • Java EE
    • Servlets
  • Spring Framework
    • Spring Tutorials
    • Spring 4 Tutorials
    • Spring Boot
  • JSF Tutorials
  • Most Popular
    • Binary Search Tree Traversal
    • Spring Batch Tutorial
    • AngularJS + Spring MVC
    • Spring Data JPA Tutorial
    • Packaging and Deploying Node.js
  • About Us
    • Join Us (JBC)
  • Privacy
  • Contact Us

java.io.NotSerializableException

April 20, 2014 by Krishna Srinivasan Leave a Comment

java.io.NotSerializableException is thrown when the object is not eligible for the serialization. You must implement the Serializable interface to make the class eligible for the serialization. This is a marker interface which tells the JVM that the class can be serialized. Look at the below example.

Employee.java

Employee class which not implementing the serializable interface.

[code lang=”java”]
package javabeat.net.io;

public class Employee {
private String id;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}
}
[/code]

NotSerializableExceptionExample.java

This class tries to serialize the object by writing to the ObjectOutputStream. However, it throws the exception.

[code lang=”java”]
package javabeat.net.io;

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

/**
* java.io.NotSerializableException Example
*
* @author Krishna
*
*/
public class NotSerializableExceptionExample {
public static void main(String[] args) throws IOException{
//Create FileOutputStream to create file
FileOutputStream out = new FileOutputStream("employee.dat");

//Create ObjectOutputStream
ObjectOutputStream outputStream = new ObjectOutputStream(out);

//Create objects
Employee obj = new Employee();
obj.setId("001");

//Write objects to stream
outputStream.writeObject(obj);

//Always close the stream
outputStream.close();
}
}
[/code]

java.io.NotSerializableException Thrown

To fix this exception, Employee class must implement the serializable interface.

[code]
Exception in thread "main" java.io.NotSerializableException: javabeat.net.io.Employee
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1181)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:347)
at javabeat.net.io.NotSerializableExceptionExample.main(NotSerializableExceptionExample.java:13)
[/code]

Filed Under: Java Tagged With: Java File IO

About Krishna Srinivasan

He is Founder and Chief Editor of JavaBeat. He has more than 8+ years of experience on developing Web applications. He writes about Spring, DOJO, JSF, Hibernate and many other emerging technologies in this blog.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Follow Us

  • Facebook
  • Pinterest

As a participant in the Amazon Services LLC Associates Program, this site may earn from qualifying purchases. We may also earn commissions on purchases from other retail websites.

JavaBeat

FEATURED TUTORIALS

Answered: Using Java to Convert Int to String

What is new in Java 6.0 Collections API?

The Java 6.0 Compiler API

Copyright © by JavaBeat · All rights reserved