黑马程序员技术交流社区

标题: ObjectOutputStream输出不了 大家帮看看什么问题 调了半天了 [打印本页]

作者: 宗士为    时间: 2012-5-17 10:56
标题: ObjectOutputStream输出不了 大家帮看看什么问题 调了半天了
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();
        }
}



作者: 李哲    时间: 2012-5-17 11:16
ObjectOutputStream只能将支持 java.io.Serializable 接口的对象写入流中。
而你的Person类应该没有实现Serializable接口,所以出现NotSerializableException异常。
将Person类实现Serializable即可。

作者: 冯越    时间: 2012-5-17 11:17
你运行这个类的时候是不是编译器报 java.io.NotSerializableException 。 我想应该是的,我刚才你的代码在我的机器里运行了一下就是报的这个错。然后我发现报这个错事因为 你没有实现 Serializable 这个接口
你要把对象保存在机器上 那么这个对象就一定要实现这个接口以表明这个对象是可序列化的。你现在把Person这个类实现Serializable接口应该就可以了。你试试,有问题再问我。
作者: 宗士为    时间: 2012-5-17 11:33
冯越 发表于 2012-5-17 11:17
你运行这个类的时候是不是编译器报 java.io.NotSerializableException 。 我想应该是的,我刚才你的代码在 ...

嘿嘿 是的   引用的Person类用错了  用了个没实现的
作者: 宗士为    时间: 2012-5-17 11:34
谢谢  谢谢 哈  




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