美文网首页
33. Java IO: ObjectOutputStream

33. Java IO: ObjectOutputStream

作者: kopshome | 来源:发表于2017-12-08 14:34 被阅读0次

    想要查看此教程的目录请点击:Java IO教程目录贴地址


    ObjectOutputStream(java.io.ObjectOutputStream)可以从OutputStream写出Java对象来代替原始的字节。用ObjectOutputStream来包装OutputStream然后就可以向其中写入对象。
    Java ObjectOutputStream经常会和Java ObjectInputStream一起使用。稍后会展示一个相关的例子。

    ObjectOutputStream例子

    下面是关于Java ObjectOutputStream的例子:

    ObjectOutputStream objectOutputStream = 
        new ObjectOutputStream(new FileOutputStream("object.data"));
    
    MyClass object = new MyClass();
    
    output.writeObject(object);
    
    output.close();
    

    例子首先创建了一个ObjectOutputStream实例,向构造参数传入一个FileOutputStream。然后创建了一个MyClass实例并将其写出去。最后关闭流。
    在进行序列化和反序列化之前,你要实现java.io.Serializable接口。

    ObjectOutputStream 和 ObjectInputStream同时使用

    下面是两者一起使用的例子:

    import java.io.*;
    
    public class ObjectInputStreamExample {
    
        public static class Person implements Serializable {
            public String name = null;
            public int    age  =   0;
        }
    
    
        public static void main(String[] args) throws IOException, ClassNotFoundException {
    
            ObjectOutputStream objectOutputStream =
                new ObjectOutputStream(new FileOutputStream("data/person.bin"));
    
            Person person = new Person();
            person.name = "Jakob Jenkov";
            person.age  = 40;
    
            objectOutputStream.writeObject(person);
            objectOutputStream.close();
    
    
            ObjectInputStream objectInputStream =
                new ObjectInputStream(new FileInputStream("data/person.bin"));
    
            Person personRead = (Person) objectInputStream.readObject();
    
            objectInputStream.close();
    
            System.out.println(personRead.name);
            System.out.println(personRead.age);
        }
    }
    

    例子首先创建了一个ObjectOutputStream实例并向构造方法传入FileOutputStream。然后创建了一个 Person 实例并将其写到ObjectOutputStream,然后关闭流。
    然后创建了一个ObjectInputStream实例,并且连接到和ObjectOutputStream同一文件。然后利用对象从ObjectInputStream读取数据并将结果强转成Person。随后关闭输入流并打印结果。

    相关文章

      网友评论

          本文标题:33. Java IO: ObjectOutputStream

          本文链接:https://www.haomeiwen.com/subject/crueixtx.html