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