Java.io.ObjectInputStream.read() Method



Description

The java.io.ObjectInputStream.read(byte[] buf, int off, int len) method reads into an array of bytes. This method will block until some input is available. Consider using java.io.DataInputStream.readFully to read exactly 'length' bytes.

Declaration

Following is the declaration for java.io.ObjectInputStream.read() method.

public int read(byte[] buf, int off, int len)

Parameters

  • buf − The buffer into which the data is read.

  • off − The start offset of the data.

  • len − The maximum number of bytes read.

Return Value

This method returns the actual number of bytes read, -1 is returned when the end of the stream is reached.

Exception

IOException − If an I/O error has occurred.

Example

The following example shows the usage of java.io.ObjectInputStream.read() method.

package com.tutorialspoint;

import java.io.*;

public class ObjectInputStreamDemo {
   public static void main(String[] args) {
      byte[] cbuf = new byte[10];
      
      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.writeUTF("Hello World");
         oout.flush();

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

         // read from the stream into an array
         ois.read(cbuf, 0, 7);

         // print cbuf
         for (int i = 0; i < 7; i++) {
            System.out.print("" + (char) cbuf[i]);
         }
      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

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

Hello
java_io_objectinputstream.htm
Advertisements