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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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 赞一个!

查看全部评分

4 个回复

倒序浏览
ObjectOutputStream只能将支持 java.io.Serializable 接口的对象写入流中。
而你的Person类应该没有实现Serializable接口,所以出现NotSerializableException异常。
将Person类实现Serializable即可。

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
你运行这个类的时候是不是编译器报 java.io.NotSerializableException 。 我想应该是的,我刚才你的代码在我的机器里运行了一下就是报的这个错。然后我发现报这个错事因为 你没有实现 Serializable 这个接口
你要把对象保存在机器上 那么这个对象就一定要实现这个接口以表明这个对象是可序列化的。你现在把Person这个类实现Serializable接口应该就可以了。你试试,有问题再问我。

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
冯越 发表于 2012-5-17 11:17
你运行这个类的时候是不是编译器报 java.io.NotSerializableException 。 我想应该是的,我刚才你的代码在 ...

嘿嘿 是的   引用的Person类用错了  用了个没实现的
回复 使用道具 举报
谢谢  谢谢 哈  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马