ObjectOutputStream writeFields()方法

java.io.ObjectOutputStream.writeFields() 此方法将缓冲的字段写入流。

1 语法

public void writeFields()

2 参数

3 返回值

4 示例 

package com.yiidian;

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

public class Demo {
    public static void main(String[] args) {
        double d = 1.59875d;

        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();
            oout.close();

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

            // read an object from the stream and cast it to Example
            Example a = (Example) ois.readObject();

            // print var of a
            System.out.println("" + a.var);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    static public class Example implements Serializable {
        static int var = 76458;

        // assign a new serialPersistentFields
        private static final ObjectStreamField[] serialPersistentFields = {
                new ObjectStreamField("var", Integer.TYPE)
        };

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

            // get the field and assign it at var
            ObjectInputStream.GetField fields = in.readFields();

            // get var
            var = fields.get("var", 0);
        }

        private void writeObject(ObjectOutputStream out) throws IOException {

            // write into the ObjectStreamField array the variable string
            ObjectOutputStream.PutField fields = out.putFields();
            fields.put("var", var);
            out.writeFields();
        }
    }
}

输出结果为:

76458

热门文章

优秀文章