A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.tutorialspoint.com/java/io/fileinputstream_read_byte_len.htm below:

FileInputStream read(byte[] b, int off, int len) method

Java - FileInputStream read(byte[] b, int off, int len) method Description

The Java FileInputStream read(byte[] b, int off, int len) method reads upto len bytes of data from this input stream into an array of bytes, starting at offset off in the destination array b.

Declaration

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

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

The method returns the total number of bytes read into the buffer.

Exception Example - Usage of FileInputStream read(byte[] b, int off, int len) method

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

FileInputStreamDemo.java
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 i = 0;
      char c;
      byte[] bs = new byte[4];
      
      try {
         // create new file input stream
         fis = new FileInputStream("test.txt");
         
         // read bytes to the buffer
         i = fis.read(bs, 2, 1);
         
         // prints
         System.out.println("Number of bytes read: "+i);
         System.out.print("Bytes read: ");
         
         // for each byte in buffer
         for(byte b:bs) {
         
            // converts byte to character
            c = (char)b;
            if(b == 0)
               c = '-';
            
            // print
            System.out.print(c);
         } 
         
      } catch(Exception ex) {
         // if any error occurs
         ex.printStackTrace();
      } finally {
         // releases all system resources from the streams
         if(fis!=null)
            fis.close();
      }
   }
}
Output Assumption

Assuming we have a text file test.txt in current directory, 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: 1
Bytes read: --A-
Example - Reading a File in Chunks

The following example shows the usage of Java FileInputStream read(byte[] b, int off, int len) method. This example reads data from a file using read(byte[] buf, int off, int len) method in chunks and prints it as text.

FileInputStreamDemo.java
package com.tutorialspoint;

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

public class FileInputStreamDemo {
   public static void main(String[] args) {
      try (FileInputStream fis = new FileInputStream("example.txt")) {
         byte[] buffer = new byte[10]; // Buffer of 10 bytes
         int bytesRead;

         while ((bytesRead = fis.read(buffer, 0, buffer.length)) != -1) {
            System.out.print(new String(buffer, 0, bytesRead)); // Convert bytes to String
         }
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}
Output(contents of example.txt)

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

Hello, World!
Explanation Example - Reading a Specific Portion of Data

The following example shows the usage of Java FileInputStream read(byte[] b, int off, int len) method. This example reads part of the file into a specific portion of an array.

FileInputStreamDemo.java
package com.tutorialspoint;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Arrays;

public class FileInputStreamDemo {
   public static void main(String[] args) {
      try (FileInputStream fis = new FileInputStream("example.txt")) {
         byte[] buffer = new byte[15]; // Larger buffer
         Arrays.fill(buffer, (byte) '-'); // Fill with '-'

         int bytesRead = fis.read(buffer, 5, 5); // Read 5 bytes, store at index 5

         System.out.println(new String(buffer)); // Print buffer contents
         System.out.println("Bytes read: " + bytesRead);
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}
Output(contents of example.txt)

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

-----Hello-----
Bytes read: 5
Explanation

java_io_fileinputstream.htm


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4