Java.io.ObjectOutputStream.putFields() Method

Advertisements


Description

The java.io.ObjectOutputStream.putFields() method retrieves the object used to buffer persistent fields to be written to the stream. The fields will be written to the stream when writeFields method is called.

Declaration

Following is the declaration for java.io.ObjectOutputStream.putFields() method

public ObjectOutputStream.PutField putFields()

Parameters

  • NA

Return Value

This method returns an instance of the class Putfield that holds the serializable fields

Exception

  • IOException -- If an I/O error has occurred.

Example

The following example shows the usage of java.io.ObjectOutputStream.putFields() method.

package com.tutorialspoint;

import java.io.*;

public class ObjectOutputStreamDemo {

   public static void main(String[] args) {

      int i = 319874;
      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.writeInt(i);
         oout.writeInt(1653984);

         // flush the stream
         oout.flush();

         // close the stream
         oout.close();

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

         // read and print an int
         System.out.println("" + ois.readInt());

         // read and print an int
         System.out.println("" + ois.readInt());

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

   }

   static public class Example implements Serializable {

      private void writeObject(ObjectOutputStream out)
              throws IOException {

         // write into the ObjectStreamField array the variable string
         ObjectOutputStream.PutField fields = out.putFields();


      }
   }
}

Let us compile and run the above program, this will produce the following result:

319874
1653984



Advertisements
Advertisements