Home » Java programming language

Java SequenceInputStream available() Method with Example

SequenceInputStream Class available() method: Here, we are going to learn about the available() method of SequenceInputStream Class with its syntax and example.
Submitted by Preeti Jain, on April 27, 2020

SequenceInputStream Class available() method

  • available() method is available in java.io package.
  • available() method is used to return an approximate of the number of available bytes that can be read from the present underlying input stream without blocking by the next call of a method for the present underlying SequenceInputStream.
  • available() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
  • available() method may throw an exception at the time of returning available bytes.
    IOException: This exception may throw when getting any input/output error while performing.

Syntax:

    public int available();

Parameter(s):

  • It does not accept any parameter.

Return value:

The return type of the method is int, it returns the number of bytes left that can be read from the present underlying input stream without blocking. It may return 0 when this stream is closed by its close() method.

Example:

// Java program to demonstrate the example 
// of int available() method of
// SequenceInputStream

import java.io.*;

public class AvailableOfSIS {
    public static void main(String[] args) {
        String str1 = "Java";
        String str2 = "Programming..";

        // Create two byte array
        byte[] b_arr1 = str1.getBytes();
        byte[] b_arr2 = str2.getBytes();

        // Instantiates two ByteArrayInputStream
        ByteArrayInputStream bais_1 = new ByteArrayInputStream(b_arr1);
        ByteArrayInputStream bais_2 = new ByteArrayInputStream(b_arr2);

        // Instantiates SequenceInputStream
        SequenceInputStream se_stm = new SequenceInputStream(bais_1, bais_2);

        try {
            // By using available() method is to
            // return the number of available bytes
            // to be read in bais1
            int avail_bytes = se_stm.available();
            System.out.println("se_stm.available(): " + avail_bytes);

            // Loop to read available input 
            for (int i = 0; i < 15; i++) {
                // By using read() method is to read integer and
                // convert it into char
                char ch = (char) se_stm.read();
                System.out.print("se_stm.read(): " + ch);
                System.out.println();
            }

            // By using close() method is to
            // close all the streams
            bais_1.close();
            bais_1.close();
            se_stm.close();
            System.out.println("Streams Shutdown.....");
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

Output

se_stm.available(): 4
se_stm.read(): J
se_stm.read(): a
se_stm.read(): v
se_stm.read(): a
se_stm.read(): P
se_stm.read(): r
se_stm.read(): o
se_stm.read(): g
se_stm.read(): r
se_stm.read(): a
se_stm.read(): m
se_stm.read(): m
se_stm.read(): i
se_stm.read(): n
se_stm.read(): g
Streams Shutdown.....


Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.