Java.io.FileInputStream.available() Method



Description

The java.io.FileInputStream.available() method returns number of remaining bytes that can be read from this input stream without blocking by the next method call for this input stream. The next method call can also be the another thread.

Declaration

Following is the declaration for java.io.FileInputStream.available() method −

public int available()

Parameters

NA

Return Value

The methods returns and estimated of the number of remaining bytes that can be read from this input stream without blocking.

Exception

IOException − If the file input stream has been closed by calling close or any I/O error occurs.

Example

The following example shows the usage of java.io.FileInputStream.available() method.

package com.tutorialspoint;

import java.io.IOException;
import java.io.FileInputStream;

public class FileInputStreamDemo {
   public static void main(String[] args) throws IOException {
      FileInputStream fis = null;
      int available = 0;
      int i = 0;
      
      try {
         // create new file input stream
         fis = new FileInputStream("C://test.txt");
         
         // read till the end of the stream
         while((i = fis.read())!=-1) {
         
            // available bytes
            available = fis.available();
            
            // convert integer to character
            char c = (char)i;
            
            // prints
            System.out.print("Available: "+available);
            System.out.println("; Read: "+c);
         }
         
      } catch(Exception ex) {
         // if an I/O error occurs
         ex.printStackTrace();
      } finally {
         // releases all system resources from the streams
         if(fis!=null) {
            fis.close();
         }
      }
   }
}

Assuming we have a text file c:/test.txt, which has the following content. This file will be used as an input for our example program −

ABCDEF

Let us compile and run the above program, this will produce the following result −

Available: 5; Read: A
Available: 4; Read: B
Available: 3; Read: C
Available: 2; Read: D
Available: 1; Read: E
Available: 0; Read: F
java_io_fileinputstream.htm
Advertisements