凡是需要被序列化的对象,均需要 直接或间接地 实现java.io.Serializable接口;
并且,该对象所持有的其他对象也需要 直接或间接地 实现java.io.Serializable接口;
否则将引起异常或不能正确地反序列化。
ArrayList也实现了序列化
并且,该对象所持有的其他对象也需要 直接或间接地 实现java.io.Serializable接口;
否则将引起异常或不能正确地反序列化。
ArrayList也实现了序列化
public static void main(String[] args) {
// TODO Auto-generated method stub
File f=new File("d:\\user.tmp");
if(f.exists()){
f.delete();
}
ArrayList al=new ArrayList();
al.add(new classFirstload())//没有实现Serialable的类会报异常!
FileOutputStream os;
try {
os = new FileOutputStream(f);
ObjectOutputStream oos=new ObjectOutputStream(os);
oos.writeObject(al);
oos.close();
FileInputStream fi=new FileInputStream(f);
ObjectInputStream ois=new ObjectInputStream(fi);
ArrayList arraydemo=(ArrayList)ois.readObject();
System.out.println(arraydemo.get(0));
os.close();
} 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();
}
//ObjectOutputStream 核心类
}