黑马程序员技术交流社区

标题: ObjectOutputStream 问题 [打印本页]

作者: 侯凯斌    时间: 2013-1-30 14:07
标题: ObjectOutputStream 问题
本帖最后由 侯凯斌 于 2013-2-18 11:46 编辑

public class ObjectOutDemo {

        public static void main(String[] args) throws IOException, IOException {
                Person  p1 = new Person("张三",15);
                Person  p2 = new Person("张四",32);
                Person  p3 = new Person("张五",13);
                Person  p4 = new Person("张六",22);
                ArrayList<Person> list = new ArrayList<Person>();
                Collections.addAll(list, p1,p2,p3,p4);
                ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("obj.txt"));
                oos.writeObject(list);                                       
                oos.close();
        }
}


作者: 舒远    时间: 2013-1-31 09:58
本帖最后由 舒远 于 2013-1-31 10:04 编辑

Person类是否已实现Serializable?

作者: Rancho_Gump    时间: 2013-2-2 11:43
list  应该没有实现Serializable吧  
对于这个不是很了解,只是感觉错误可能出在这
作者: 黄锦成    时间: 2013-2-2 12:27
我运行了你的代码,出现的错误是:
Exception in thread "main" java.io.NotSerializableException: Person

我查看了ArrayList源码,ArrayList是实现了Serializable接口,根据错误提示,让Person类实现Serializable,运行无错。

从这一点可以看出,要将对象写到文件中,如果此对象用到了其他的对象,其他对象也要实现Serializable




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2