Open In App

Java.io.ObjectInputStream Class in Java | Set 1

ObjectInputStream Class deserializes the primitive data and objects previously written by ObjectOutputStream.

Declaration : 



public class ObjectInputStream
extends InputStream
implements ObjectInput, ObjectStreamConstants

Constructors : 

Methods: 



public int read()
Parameters :
-----------
Return :
reads byte else, return -1 if end of Stream is detected.
Exception :
-> IOException : in case of any IO error occurs.
public int readBoolean()
Parameters :
-----------
Return :
reads in a boolean.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.




// Java program explaining the working of read(), readBoolean() method
 
import java.io.*;
 
public class NewClass
{
    public static void main(String[] args) throws IOException
    {
        // create a new file with an ObjectOutputStream and ObjectInputStream
        FileOutputStream geek_out = new FileOutputStream("GEEKS.txt");
         
        ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out);
        ObjectInputStream Geek_inStream =
                        new ObjectInputStream(new FileInputStream("GEEKS.txt"));
 
        // Methods covered in later
        geek_outStream.writeBoolean(true);
        geek_outStream.writeUTF("Geeks For Geeks");
        geek_outStream.flush();
 
        // Use of readBoolean()
        System.out.println("USe of readBoolean() : " + Geek_inStream.readBoolean());
 
        System.out.print("Use of read() method in Java : ");
         
        // Use of read() method : reading the content of file
        for (int i = 0; i < Geek_inStream.available();)
        {
            System.out.print((char) Geek_inStream.read());
        }
 
    }
}

USe of readBoolean() : true
Use of read() method in Java : Geeks For Geeks
public int read(byte[] buffer, int offset, int maxlen)
Parameters :
buffer : buffer to be read
offset : starting position of the buffer
maxlen : max. no. of bytes to be read
Return :
reads 'maxlen' bytes of data else, return -1 if end of Stream is detected.
Exception :
-> IOException : in case of any IO error occurs.




// Java program explaining the working of
// read(byte[] buffer, int offset, int maxlen)
 
import java.io.*;
 
public class NewClass
{
    public static void main(String[] args) throws IOException
    {
        // create a new file with an ObjectOutputStream and ObjectInputStream
        FileOutputStream geek_out = new FileOutputStream("GEEKS.txt");
         
        ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out);
         
        // create an ObjectInputStream for the file we created before
        ObjectInputStream Geek_inStream
            = new ObjectInputStream(new FileInputStream("GEEKS.txt"));
 
 
        geek_outStream.writeUTF("GeeksForGeeks");
        geek_outStream.flush();
 
        byte[] buffer = new byte[25];
 
        // Use of read(byte[] buffer, int offset, int maxlen)
        Geek_inStream.read(buffer, 2, 20);
 
        System.out.print("Use of read(buffer, offset, maxlen) : ");
        for (int i = 0; i < 19; i++)
        {
            System.out.print((char)buffer[i]);
        }
    }
}

GeeksForGeeks
public byte readByte()
Parameters :
-----------
Return :
reads 8-bit byte.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
public int read()
Parameters :
-----------
Return :
reads 16-bit of char.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
public double readDouble()
Parameters :
-----------
Return :
reads 64 bit double.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
public float readFloat()
Parameters :
-----------
Return :
reads a 32 bit float.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
public int readInt()
Parameters :
-----------
Return :
reads a 32 bit int.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
public long readLong()
Parameters :
-----------
Return :
reads a 64 bit long.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.




// Java program explaining the working of
// readChar(), writeByte(), writeDouble(),
// writeFloat(), writeInt(), writeLong()
 
import java.io.*;
 
public class NewClass
{
    public static void main(String[] args) throws IOException
    {
        // create a new file with an ObjectOutputStream and ObjectInputStream
        FileOutputStream geek_out = new FileOutputStream("GEEKS.txt");
        ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out);
         
        // create an ObjectInputStream for the file we created before
        ObjectInputStream Geek_inStream
                    = new ObjectInputStream(new FileInputStream("GEEKS.txt"));
 
 
        geek_outStream.writeChar('G');
        geek_outStream.writeByte('G');
        geek_outStream.writeDouble(00436754746);
        geek_outStream.writeFloat(2.12345f);
        geek_outStream.writeInt(3576);
        geek_outStream.writeLong(368723776);
 
        geek_outStream.flush();
 
        // Use of readChar()
        System.out.println("Use of readChar() : " + Geek_inStream.readChar());
 
        // Use of readByte() :
        System.out.println("Use of readByte() : " + Geek_inStream.readByte());
 
        // Use of readDouble() :
        System.out.println("Use of readDouble() : " + Geek_inStream.readDouble());
 
        // Use of readFloat() :
        System.out.println("Use of readFloat() : " + Geek_inStream.readFloat());
 
        // Use of readInt() :
        System.out.println("Use of readInt() : " + Geek_inStream.readInt());
 
        // Use of readLong() :
        System.out.println("Use of readLong() : " + Geek_inStream.readLong());
    }
}

Use of readChar() : G
Use of readByte() : 71
Use of readDouble() : 7.5225574E7
Use of readFloat() : 2.12345
Use of readInt() : 3576
Use of readLong() : 368723776
public int readUnsignedByte()
Parameters :
-----------
Return :
reads an unsigned 8 bit byte.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.
public int readUnsignedShort()
Parameters :
-----------
Return :
reads an unsigned 16 bit short.
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if end of the stream is reached.




// Java program explaining the working of
// readUnsignedByte() and readUnsignedShort()
 
import java.io.*;
 
public class NewClass
{
    public static void main(String[] args) throws IOException
    {
        // create a new file with an ObjectOutputStream and ObjectInputStream
        FileOutputStream geek_out = new FileOutputStream("GEEKS.txt");
        ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out);
         
        // create an ObjectInputStream for the file we created before
        ObjectInputStream Geek_inStream
                    = new ObjectInputStream(new FileInputStream("GEEKS.txt"));
 
        geek_outStream.writeByte(111);
        geek_outStream.writeShort(121212);
 
        geek_outStream.flush();
 
        // Use of readUnsignedByte()
        System.out.println("readUnsignedByte() : "
                        + Geek_inStream.readUnsignedByte());
 
        // Use of readUnsignedShort() :
        System.out.println("readUnsignedShort() : "
                        + Geek_inStream.readUnsignedShort());
    }
}

readUnsignedByte() : 111
readUnsignedShort() : 55676
public String readUTF()
Parameters :
public final Object readObject()
Return :
reads String in modified UTF-8 (Unicode Transformation Format) format
Exception :
-> IOException : in case of any IO error occurs.




// Java program explaining the working of readUTF()
 
import java.io.*;
 
public class// Java program explaining the working of readUTF()
 
import java.io.*;
 
public class NewClass
{
    public static void main(String[] args) throws IOException, ClassNotFoundException
    {
        // create a new file with an ObjectOutputStream and ObjectInputStream
        FileOutputStream geek_out = new FileOutputStream("GEEKS.txt");
        ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out);
 
        ObjectInputStream Geek_inStream
                    = new ObjectInputStream(new FileInputStream("GEEKS.txt"));
 
         
        geek_outStream.writeUTF("gEEKSArehERE");
        geek_outStream.flush();
 
        // Use of readUTF() method
        System.out.println("Use of readUTF() : " + Geek_inStream.readUTF());
    }
}

Use of readUTF() : gEEKSArehERE
public int skipBytes(int maxlen)
Parameters :
maxlen : max. no. of bytes to be skipped
Return :
no. of bytes to be skipped
Exception :
-> IOException : in case of any IO error occurs.




// Java program explaining the working of skipBytes()
 
import java.io.*;
 
public class NewClass
{
    public static void main(String[] args) throws IOException, ClassNotFoundException
    {
        // create a new file with an ObjectOutputStream and ObjectInputStream
        FileOutputStream geek_out = new FileOutputStream("GEEKS.txt");
        ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out);
 
        ObjectInputStream Geek_inStream
                    = new ObjectInputStream(new FileInputStream("GEEKS.txt"));
                     
        geek_outStream.writeUTF("gEEKSArehERE");
        geek_outStream.flush();
 
        // Use of skipBytes() :
        Geek_inStream.skipBytes(7);
         
        for (int i = 2; i < Geek_inStream.available(); i++)
        {
            System.out.print((char) Geek_inStream.readByte());
        }
    }
}

Are
public void readFully(byte[] destination)
Parameters :
destination : the buffer in which the data is to be read
Return :
returns the 32 bit float read
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if End of stream is reached




// Java program explaining the working of readFully()
 
import java.io.*;
 
public class NewClass
{
    public static void main(String[] args) throws IOException, ClassNotFoundException
    {
        // create a new file with an ObjectOutputStream and ObjectInputStream
        FileOutputStream geek_out = new FileOutputStream("GEEKS.txt");
        ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out);
 
        ObjectInputStream Geek_inStream
                    = new ObjectInputStream(new FileInputStream("GEEKS.txt"));
 
        geek_outStream.writeUTF("gEEKSArehERE");
        geek_outStream.flush();
 
     
      
        byte[] destination = new byte[14];
         
        // Use of readFully()
        Geek_inStream.readFully(destination);
         
        String str = new String(destination);
        System.out.println("Use of readFully(destination, offset, maxlen) : "+str);
    }
}

Use of readFully(destination, offset, maxlen) : gEEKSArehERE
public void readFully(byte[] destination, int offset, int maxlen)
Parameters :
destination : the buffer in which the data is to be read
offset : starting position of the buffer
maxlen : max no. of bytes to be read
Return :
void
Exception :
-> IOException : in case of any IO error occurs.
-> EOFException : if End of stream is reached




// Java program explaining the working of
// readFully(byte[] destination, int offset, int maxlen)
 
import java.io.*;
 
public class NewClass
{
    public static void main(String[] args) throws IOException, ClassNotFoundException
    {
        // create a new file with an ObjectOutputStream and ObjectInputStream
        FileOutputStream geek_out = new FileOutputStream("GEEKS.txt");
        ObjectOutputStream geek_outStream = new ObjectOutputStream(geek_out);
 
        ObjectInputStream Geek_inStream
                    = new ObjectInputStream(new FileInputStream("GEEKS.txt"));
 
        geek_outStream.writeUTF("gEEKSArehERE");
        geek_outStream.flush();
 
     
        byte[] destination = new byte[14];
         
        // Use of readFully(byte[] destination, int offset, int maxlen)
        Geek_inStream.readFully(destination, 3, 7);
         
        String str = new String(destination);
        System.out.println("Use of readFully(destination, offset, maxlen) : "+ str);
    }
}

Use of readFully(destination, offset, maxlen) : geeks


Article Tags :