您的位置:首页 > 编程语言 > Java开发

Java序列化的一个例子

2016-04-14 14:45 405 查看
学习Java这么久,虽然脑子中有关于序列化的理解,但没实际应用过,刚好碰到朋友要帮忙做个作业,就趁机写一个很简单的例子。

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

/**
* 对象的序列化主要有两种用途:
1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
2) 在网络上传送对象的字节序列。
*/
/**
* 要使对象序列化,就令该对象继承java.io.Serializable类。
*/

/**
* @author Jim
* @Time 2016年4月14日 下午1:47:48
*
*/
public class Program21 {
public static void main(String[] args){

try{
//序列化对象,将对象保存在student.dat中
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("student.dat"));
Student s1 = new Student("Lisa", 20);
out.writeObject(s1);								//写入对象
out.close();

//将student.dat中的对象反序列化并print information.
ObjectInputStream in = new ObjectInputStream(new FileInputStream("student.dat"));
Student s2 = (Student)in.readObject();				//读出对象
System.out.print("Student's name is " + s2.getName() + " and the age is " + s2.getAge());
in.close();
}catch(Exception e){
e.printStackTrace();
}

}
}

/**
* 定义一个学生类来继承java.io.Serializable
*/
class Student implements Serializable {
private String name = "";
private int age = 0;

public Student(String name, int age) {
this.name = name;
this.age = age;
}

public String getName(){
return this.name;
}

public int getAge() {
return this.age;
}
}


本文出自 “A&D_Ro535” 博客,请务必保留此出处http://ro535.blog.51cto.com/11279790/1763771
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: