Java.io.LineNumberInputStream.read() Method



Description

The java.io.LineNumberInputStream.read(byte[] b, int off, int len) reads up to len bytes from this input stream into an array of bytes. This method blocks until input is available.

Declaration

Following is the declaration for java.io.LineNumberInputStream.read(byte[] b, int off, int len) method −

public int read(byte[] b, int off, int len)

Parameters

  • b − The buffer into which the data is read.

  • off − The start offset of the data.

  • len − The maximum number of bytes read.

Return Value

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

Exception

IOException − If an I/O error occurs.

Example

The following example shows the usage of java.io.LineNumberInputStream.read(byte[] b, int off, int len) method.

package com.tutorialspoint;

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

public class LineNumberInputStreamDemo {
   public static void main(String[] args) throws IOException {
      LineNumberInputStream lnis = null;
      FileInputStream fis = null;
      byte[] buf = new byte[5];
      int i;
      char c;
      
      try {
         // create new input stream
         fis = new FileInputStream("C:/test.txt");
         lnis = new LineNumberInputStream(fis);
         
         // read bytes to the buffer
         i = lnis.read(buf, 2, 3);
         System.out.println("The number of char read: "+i);
               
         // for each byte in buffer
         for(byte b:buf) {
         
            // if byte is zero
            if(b == 0)
               c = '-';
            else
               c = (char)b;
      
            // print char
            System.out.print(c);
         }
         
      } catch(Exception e) {
         // if any error occurs
         e.printStackTrace();
      } finally {
         // closes the stream and releases any system resources
         if(fis!=null)
            fis.close();
         if(lnis!=null)
            lnis.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 −

ABCDE

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

The number of char read: 3
--ABC
java_io_linenumberinputstream.htm
Advertisements