Open In App

FileInputStream getChannel() Method in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

The getChannel() method is a part of Java.io.FileInputStream class. This method will return the unique FileChannel object associated with the file input stream. 

  • A channel obtained from the getChannel() method of the Java.io.FileInputStream instance will be “open for reading.”
  • getChannel() will return the FileChannel object that is associated with “this” FileInputStream instance.
  • The channel position will change whenever we read bytes from this stream.
  • Whenever the channel’s position is changed, the stream’s file position will also get changed.
  • The number of bytes read from the file will determine the initial position of the returned channel.

Syntax:

public FileChannel getChannel()

Parameter: getChannel() method has no parameter.

Return Type: getChannel() method will return a unique FileChannel object.

How to invoke getChannel() method?

Step 1: First, we have to create an instance of  Java.io.FileInputStream class

FileInputStream  fileInputStream =new FileInputStream("tmp.txt");

Step 2: To get the unique FileChannel object associated with this fileInputStream, we will call the getChannel() method

FileChannel fileChannel = fileInputStream.getChannel();

The below program will illustrate the use of the getChannel() method.

Example: Program to get the FileChannel object and then to print the size of the channel’s file

Java




// Java Program to demonstrate the working
// of the FileChannel object and then to
// print the size of the channel's file
 
import java.io.*;
// import FileChannel
import java.nio.channels.FileChannel;
 
class GFG {
    public static void main(String[] args)
    {
 
        try {
            // create instance of FileInputStream class
            // user should change name of the file
            FileInputStream fileInputStream
                = new FileInputStream(
                    "C://geeksforgeeks//tmp.txt");
 
            // if the specified file does not exist
            if (fileInputStream == null) {
                System.out.println(
                    "Cannot find the specified file");
                return;
            }
 
            // to get the unique object of FileChannel for
            // this specified fileInputStream
            FileChannel fileChannel
                = fileInputStream.getChannel();
 
            // print the current size of the channel's file
            System.out.println(
                "Current Size of the file is : "
                + fileChannel.size());
        }
        catch (Exception exception) {
            System.out.println(exception.getMessage());
        }
    }
}


Output:

Current size of the file is 48

tmp.txt

Note: The programs might not run in an online IDE. Please use an offline IDE and change the Name of the file



Last Updated : 16 Dec, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads