Skip to content
Related Articles

Related Articles

Improve Article
BufferedInputStream close() method in Java with Examples
  • Last Updated : 17 May, 2020

The close() method of BufferedInputStream class in Java closes the input stream and releases any system resources associated with it. Once the close() method is called, reading from any input file is banned and the system will throw an IOException. To tackle the issue, the user might use a try-catch block, to catch any such exception and throw a proper instruction.

Syntax:

public void close()

Parameters: This method does not accept any parameters.

Return value: This method does not return any value.

Overrides: The method is overridden by close in class FilterInputStream.



Exception: This method throws IOException if any input-output error occurs.

Below programs illustrates close() method in BufferedInputStream class in IO package:

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




// Java program to illustrate
// BufferedInputStream.close() method
  
import java.io.*;
public class GFG {
    public static void main(String[] args)
        throws IOException
    {
  
        // Create input stream 'demo.txt'
        // for reading containing
        // text "GEEKSFORGEEKS"
        FileInputStream inputStream
            = new FileInputStream("c:/demo.txt");
  
        // Convert inputStream to
        // bufferedInputStream
        BufferedInputStream buffInputStr
            = new BufferedInputStream(inputStream);
  
        // Get the number of bytes available
        // to read using available() method
        int rem_byte = buffInputStr.available();
  
        // Number of bytes available is printed
        System.out.println(
            "Remaining Byte: " + rem_byte);
  
        // Close the file
        buffInputStr.close();
    }
}
Output:
Remaining Byte: 13

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




// Java program to illustrate
// BufferedInputStream.close() method
  
import java.io.*;
public class GFG {
    public static void main(String[] args)
        throws IOException
    {
        try {
  
            // create input stream 'demo.txt'
            // for reading containing
            // text "GEEKS"
            FileInputStream inputStream
                = new FileInputStream(
                    "c:/demo.txt");
  
            // convert inputStream to
            // bufferedInputStream
            BufferedInputStream buffInputStr
                = new BufferedInputStream(
                    inputStream);
  
            // get the number of bytes available
            // to read using available() method
            int rem_byte
                = buffInputStr.available();
  
            // number of bytes available is printed
            System.out.println(rem_byte);
  
            // close the file
            buffInputStr.close();
  
            // now throws io exception
            // if available() is invoked
            // after close()
            rem_byte = buffInputStr.available();
  
            System.out.println(rem_byte);
        }
        catch (IOException e) {
            // exception occurred.
            System.out.println(
                "Error: Sorry 'buffInputStr'"
                + " is closed");
        }
    }
}
Output:
5
Error: Sorry 'buffInputStr' is closed

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

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :