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 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(
// 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
Note: The programs might not run in an online IDE. Please use an offline IDE and change the Name of the file