Java.io.FilterInputStream.read() Method



Description

The java.io.FilterInputStream.read(byte[] b) method reads up to b.length of data from this filter input stream into an array of bytes. This method block until input data is available.

Declaration

Following is the declaration for java.io.FilterInputStream.read(byte[] b) method −

public int read(byte[] b)

Parameters

b − The destination buffer.

Return Value

The method returns the total number of bytes read into the buffer, or -1 if there is no more data to read.

Exception

IOException − If an I/O error occurs

Example

The following example shows the usage of java.io.FilterInputStream.read(byte[] b) method.

package com.tutorialspoint;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;

public class FilterInputStreamDemo {
   public static void main(String[] args) throws Exception {
      InputStream is = null; 
      FilterInputStream fis = null;
      int i = 0;
      char c;
      byte[] buffer = new byte[6];
      
      try {
         // create input streams
         is = new FileInputStream("C://test.txt");
         fis = new BufferedInputStream(is);
         
         // returns number of bytes read to buffer
         i = fis.read(buffer);
         
         // prints
         System.out.println("Number of bytes read: "+i);
         
         // for each byte in buffer
         for(byte b:buffer) {
         
            // converts byte to character
            c = (char)b;
            
            // prints
            System.out.println("Character read: "+c);
         }
         
      } catch(IOException e) {
         // if any I/O error occurs
         e.printStackTrace();
      } finally {
         // releases any system resources associated with the stream
         if(is!=null)
            is.close();
         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 −

Number of bytes read: 6
Character read: A
Character read: B
Character read: C
Character read: D
Character read: E
Character read: F
java_io_filterinputstream.htm
Advertisements