以前总听说对象的序列化,反序列化,只知道这些概念,并没深入理解其用途,今天在项目中想到用序列化来保存信息。。。 希望和大家能分享一下代码 User.class package com.object; import java.io.Serializable; public class User implements Serializable{ private String fisrtName; private String lastName; private String location; public String getFisrtName() { return fisrtName; } public void setFisrtName(String fisrtName) { this.fisrtName = fisrtName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getLocation() { return location; } public void setLocation(String location) { this.location = location; } @Override public String toString() { // TODO Auto-generated method stub return "用户名:"+lastName+"."+fisrtName+" 住址:"+location; } } ObjectClass.java package com.object; import java.io.Serializable; import java.util.ArrayList; public class ObjectClass implements Serializable{ private ArrayList<User> user; public ArrayList<User> getUser() { return user; } public void setUser(ArrayList<User> user) { this.user = user; } } Main.java package com.object; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.Iterator; public class Main { public static void main(String[] args) { //saveObj(); readObj(); } public static void saveObj() { try { FileOutputStream fos = new FileOutputStream("D:/class.data",true); ObjectOutputStream oos = new ObjectOutputStream(fos); ObjectClass oc = new ObjectClass(); ArrayList<User> list = new ArrayList<User>(); for(int i=100;i<150;i++) { User u = new User(); u.setFisrtName("Jack"+i); u.setLastName("Zhang"); u.setLocation(String.valueOf(Math.random())); list.add(u); } oos.writeObject(list); oos.flush(); oos.close(); }catch(Exception e) { e.printStackTrace(); } } public static void readObj() { try { FileInputStream fis = new FileInputStream("D:/class.data"); ObjectInputStream ois = new ObjectInputStream(fis); ArrayList<User> list = (ArrayList<User>)ois.readObject(); for(Iterator<User> it = list.iterator();it.hasNext();) { User u = it.next(); System.out.println(u.toString()); } }catch(Exception e) { e.printStackTrace(); } } }