DataInputStream readInt() method in Java with Examples – GeeksforGeeks

The readInt() method of DataInputStream class in Java is used to read four input bytes and returns a integer value. This method reads the next four bytes from the input stream and interprets it into integer type and returns.

Syntax:

public final int readInt()
             throws IOException

Specified By: This method is specified by readInt() method of DataInput interface.

Parameters: This method does not accept any parameter.

Return value: This method returns the int value interpreted by the next four bytes of the input stream.

Exceptions:

  • EOFException – It throws EOFException if the input stream is ended before four bytes can be read.
  • IOException – This method throws IOException if the stream is closed or some other I/O error occurs.

Below programs illustrate readInt() method in DataInputStream class in IO package:

Program 1: Assume the existence of file “demo.txt”.




import java.io.*;

public class GFG {

    public static void main(String[] args)

        throws IOException

    {

  

        

        int[] buf = { 10, 20, 30, 40, 50 };

  

        

        FileOutputStream outputStream

            = new FileOutputStream("c:\\demo.txt");

  

        

        DataOutputStream dataOutputStr

            = new DataOutputStream(outputStream);

  

        for (int b : buf) {

            

            

            dataOutputStr.writeInt(b);

        }

  

        dataOutputStr.flush();

  

        

        FileInputStream inputStream

            = new FileInputStream("c:\\demo.txt");

  

        

        DataInputStream dataInputStr

            = new DataInputStream(inputStream);

  

        while (dataInputStr.available() > 0) {

            

            System.out.println(

                dataInputStr.readInt());

        }

    }

}



Program 2: Assume the existence of file “demo.txt”.




import java.io.*;

public class GFG {

    public static void main(String[] args)

        throws IOException

    {

  

        

        int[] buf = { 191, 225, 480, 763, 500 };

  

        

        FileOutputStream outputStream

            = new FileOutputStream("c:\\demo.txt");

  

        

        DataOutputStream dataOutputStr

            = new DataOutputStream(outputStream);

  

        for (int b : buf) {

            

            

            dataOutputStr.writeInt(b);

        }

  

        dataOutputStr.flush();

  

        

        FileInputStream inputStream

            = new FileInputStream("c:\\demo.txt");

  

        

        DataInputStream dataInputStr

            = new DataInputStream(inputStream);

  

        while (dataInputStr.available() > 0) {

            

            System.out.println(

                dataInputStr.readInt());

        }

    }

}



References:
https://docs.oracle.com/javase/10/docs/api/java/io/DataInputStream.html#readInt()

My Personal Notes

arrow_drop_up