学习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; } }
时间: 2024-11-08 21:50:45