java.io.NotSerializableException

java.io.NotSerializableException wird ausgelöst, wenn das Objekt nicht für die Serialisierung geeignet ist. Sie müssen die Serializable-Schnittstelle implementieren, um die Klasse für die Serialisierung geeignet zu machen. Dies ist eine Markierungsschnittstelle, die der JVM mitteilt, dass die Klasse serialisiert werden kann. Schauen Sie sich das folgende Beispiel an.

Employee.java

Mitarbeiterklasse, die die serialisierbare Schnittstelle nicht implementiert.

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

Diese Klasse versucht, das Objekt zu serialisieren, indem sie in den ObjectOutputStream schreibt. Es löst jedoch die Ausnahme aus.

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 ausgelöst

Um diese Ausnahme zu beheben, muss die Employee-Klasse die serialisierbare Schnittstelle implementieren.

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)

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen