• Menu
  • Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

JavaBeat

Java Tutorial Blog

  • 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)
  • 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)

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.

package javabeat.net.io;

public class Employee {
	private String id;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}
}

NotSerializableExceptionExample.java

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

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();
	}
}

java.io.NotSerializableException Thrown

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

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)

Category: JavaTag: 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.

Previous Post: « java.io.UnsupportedEncodingException
Next Post: How To Install MongoDB On Windows »

Reader Interactions

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.

Primary Sidebar

Follow Us

  • Facebook
  • Pinterest

FEATURED TUTORIALS

EJB 3.0 Timer Services

What is new in Java 6.0 Collections API?

The Java 6.0 Compiler API

Introductiion to Jakarta Struts

What’s new in Struts 2.0? – Struts 2.0 Framework

JavaBeat

Copyright © by JavaBeat · All rights reserved
Privacy Policy | Contact