readFully(byte[]): This method is available in the java.io.ObjectInputStream class of Java.
Syntax:
void java.io.ObjectInputStream.readFully(byte[] buf) throws IOException
This method takes one argument. This method reads bytes, blocking until all bytes are read.
Parameters: One parameter is required for this method.
buf: the buffer into which the data is read.
Throws:
1. NullPointerException - If buf is null.
2. EOFException - If the end of the file is reached.
2. IOException - If an I/O error has occurred.
Approach 1: When no exception
Java
import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.ObjectInputStream;public class ObjectInputStreamreadFully {public static void main(String[] args) throws IOException {InputStream in = new FileInputStream("D:\\hello.txt");ObjectInputStream objectInputStream =new ObjectInputStream(in);byte buf[] = { 'a', 'b', 'c' };objectInputStream.readFully(buf);System.out.println("Successfully read fully");objectInputStream.close();}}
Output:
Successfully read fully
Approach 2: NullPointerException
Java
package com.ObjectInputStream;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.ObjectInputStream;public class ObjectInputStreamreadFully {public static void main(String[] args) throws IOException {InputStream in = new FileInputStream("D:\\hello.txt");ObjectInputStream objectInputStream =new ObjectInputStream(in);byte buf[] = null;objectInputStream.readFully(buf);System.out.println("Successfully read fully");objectInputStream.close();}}
Output:
Exception in thread "main" java.lang.NullPointerException: Cannot read the array length because "buf" is null at java.base/java.io.ObjectInputStream.readFully(ObjectInputStream.java:1181) at com.ObjectInputStream.ObjectInputStreamreadFully.main(ObjectInputStreamreadFully.java:15)
Approach 3: EOFException
Java
package com.ObjectInputStream;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.ObjectInputStream;public class ObjectInputStreamreadFully {public static void main(String[] args) throws IOException {InputStream in = new FileInputStream("D:\\hello.txt");ObjectInputStream objectInputStream =new ObjectInputStream(in);byte buf[] = { 'a', 'b', 'c' };objectInputStream.close();objectInputStream.readFully(buf);System.out.println("Successfully read fully");}}
Output:
Exception in thread "main" java.io.EOFException at java.base/java.io.ObjectInputStream$BlockDataInputStream.readFully(ObjectInputStream.java:3377) at java.base/java.io.ObjectInputStream.readFully(ObjectInputStream.java:1181) at com.ObjectInputStream.ObjectInputStreamreadFully.main(ObjectInputStreamreadFully.java:16)
Some more methods of ObjectInputStream
available(): This method returns the number of bytes that can be read without blocking.
close(): This method closes the input stream. Must be called to release any resources associated with the stream.
defaultReadObject(): This method read the non-static and non-transient fields of the current class from this stream.
getObjectInputFilter(): This method returns the serialization filter for this stream.
read(): This method reads a byte of data.
read(byte[], int, int): This method reads into an array of bytes.
readBoolean(): This method reads in a boolean.
readByte(): This method reads an 8-bit byte.
readChar(): This method reads a 16-bit char.
readDouble(): This method reads a 64-bit double.
readFields(): This method reads the persistent fields from the stream and makes them available by name.
readFloat(): This method reads a 32-bit float.
readFully(byte[], int, int): This method reads bytes, blocking until all bytes are read.
readInt(): This method reads a 32-bit int.
readLong(): This method reads 64-bit long.
readObject(): This method read an object from the ObjectInputStream.
readShort(): This method reads a 16-bit short.
readUnshared(): This method reads an "unshared" object from the ObjectInputStream.
readUnsignedByte(): This method reads an unsigned 8-bit byte.
readUnsignedShort(): This method reads an unsigned 16-bit short.
readUTF(): This method reads a String in modified UTF-8 format.
registerValidation(ObjectInputValidation, int): This method registers an object to be validated before the graph is returned.
setObjectInputFilter(ObjectInputFilter): This method set the serialization filter for the stream.
skipBytes(int): This method skips bytes.
No comments:
Post a Comment