您的位置:首页 > 移动开发 > Objective-C

Java object serialization - Tutorial

2015-06-16 10:04 501 查看

Java object serialization

This tutorial explains how to use Java serialization and de-serialization

Table of Contents

1. Java Serialization2. Example3. About this website3.1.4. Links and Literature

1. Java Serialization

Via Java Serialization you can stream your Java object to a sequence of byte and restore these objects from this stream of bytes. To make a Java object serializable you implement the
java.io.Serializable
interface. This is only a marker interface which tells the Java platform that the object is serializable.

Certain system-level classes such as
Thread
,
OutputStream
and its subclasses, and
Socket
are not serializable. If you serializable class contains such objects, it must mark then as "transient".

2. Example

Create a Java project called "de.vogella.java.serilization". Create the following Java object called Person.

package de.vogella.java.serilization;

import java.io.Serializable;

public class Person implements Serializable {
private String firstName;
private String lastName;
// stupid example for transient
transient private Thread myThread;

public Person(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
this.myThread = new Thread();
}

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

@Override
public String toString() {
return "Person [firstName=" + firstName + ", lastName=" + lastName
+ "]";
}

}


  

The following code example show you how you can serializable and de-serializable this object.

package de.vogella.java.serilization;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class Main {
public static void main(String[] args) {
String filename = "time.ser";
Person p = new Person("Lars", "Vogel");

// save the object to file
FileOutputStream fos = null;
ObjectOutputStream out = null;
try {
fos = new FileOutputStream(filename);
out = new ObjectOutputStream(fos);
out.writeObject(p);

out.close();
} catch (Exception ex) {
ex.printStackTrace();
}
// read the object from file
// save the object to file
FileInputStream fis = null;
ObjectInputStream in = null;
try {
fis = new FileInputStream(filename);
in = new ObjectInputStream(fis);
p = (Person) in.readObject();
in.close();
} catch (Exception ex) {
ex.printStackTrace();
}
System.out.println(p);
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: