ObjectInputStream defaultReadObject()方法

java.io.ObjectInputStream.defaultReadObject() 方法从该流中读取当前类的非静态和非瞬态字段。这也许只能称为从类反序列化readObject方法。它会抛出NotActiveException如果它被调用。

1 语法

public void defaultReadObject()

2 参数

3 返回值

4 示例 

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * java.io.ObjectInputStream.defaultReadObject()方法的例子
 */
import java.io.*;

public class Demo {

    public static void main(String[] args) {

        try {

            // create a new file with an ObjectOutputStream
            FileOutputStream out = new FileOutputStream("test.txt");
            ObjectOutputStream oout = new ObjectOutputStream(out);

            // write something in the file
            oout.writeObject(new Example());
            oout.flush();

            // create an ObjectInputStream for the file we created before
            ObjectInputStream ois =
                    new ObjectInputStream(new FileInputStream("test.txt"));

            // read the object and print the string
            Example a = (Example) ois.readObject();

            // print the string that is in Example class
            System.out.println("" + a.s);


        } catch (Exception ex) {
            ex.printStackTrace();
        }


    }

    static class Example implements Serializable {

        String s = "Hello World!";

        private void readObject(ObjectInputStream in)
                throws IOException, ClassNotFoundException {
            in.defaultReadObject();

        }
    }
}

输出结果为:

Hello World!

热门文章

优秀文章