A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 侯凯斌 中级黑马   /  2013-1-30 14:07  /  1087 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 侯凯斌 于 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();
        }
}

评分

参与人数 1技术分 +1 收起 理由
舒远 + 1 问题挺有意义!

查看全部评分

3 个回复

倒序浏览
本帖最后由 舒远 于 2013-1-31 10:04 编辑

Person类是否已实现Serializable?
回复 使用道具 举报
list  应该没有实现Serializable吧  
对于这个不是很了解,只是感觉错误可能出在这
回复 使用道具 举报
我运行了你的代码,出现的错误是:
Exception in thread "main" java.io.NotSerializableException: Person

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

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

评分

参与人数 1技术分 +9 收起 理由
Rancho_Gump + 9 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马