1. 程式人生 > >Java序列化技術

Java序列化技術

exc java 姓名 clas () ati private tac 對象

用序列化來存儲對象。

先定義一個用來序列化的類:

package io.xuliehua;

import java.io.*;

public class Student implements Serializable{

private String name;

private String ID;

private int age;

private String specialty;

public Student(String name, String ID, int age, String specialty){

this.name=name;

this.ID=ID;

this.age=age;

this.specialty=specialty;

}

public Student(){}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getID() {

return ID;

}

public void setID(String iD) {

ID = iD;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getSpecialty() {

return specialty;

}

public void setSpecialty(String specialty) {

this.specialty = specialty;

}

public String toString(){

return "姓名:"+name+" 學號:"+ID+" 年齡:"+age+" 專業:"+specialty;

}

}

package io.xuliehua;

import java.io.*;

public class ObjectFileTest {

public static void main(String[] args) {

Student st = new Student("周勇","20140101",18,"計算機");

try {

ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("save.dat"));

out.writeObject(st);

out.close();

ObjectInputStream in = new ObjectInputStream(new FileInputStream("save.dat"));

Student pupil = (Student)in.readObject();

in.close();

System.out.println(pupil);

System.out.println("姓名:"+pupil.getName());

System.out.println("學號:"+pupil.getID());

System.out.println("年齡:"+pupil.getAge());

System.out.println("專業:"+pupil.getSpecialty());

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block e.printStackTrace();

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block e.printStackTrace();

}

}

}

Java序列化技術