Java.io.FileInputStream.getChannel() Method
Advertisements
Description
The java.io.FileInputStream.getChannel() returns the unique FileChannel object associated with this file input stream. The position of the returned channel the number of bytes read from the file so far.
Declaration
Following is the declaration for java.io.FileInputStream.getChannel() method:
public FileChannel getChannel()
Parameters
NA
Return Value
The methods returns the channel ssociated with this file input stream
Exception
NA
Example
The following example shows the usage of java.io.FileInputStream.getChannel() method.
package com.tutorialspoint;
import java.io.IOException;
import java.io.FileInputStream;
import java.nio.channels.FileChannel;
public class FileInputStreamDemo {
public static void main(String[] args) throws IOException {
FileChannel fc = null;
FileInputStream fis = null;
int i=0;
long pos;
char c;
try{
// create new file input stream
fis = new FileInputStream("C://test.txt");
// read till the end of the file
while((i=fis.read())!=-1)
{
// get file channel
fc = fis.getChannel();
// get channel position
pos = fc.position();
// integer to character
c = (char)i;
// prints
System.out.print("No of bytes read: "+pos);
System.out.println("; Char read: "+c);
}
}catch(Exception ex){
// if an I/O error occurs
System.out.println("IOException: close called before read()");
}finally{
// releases all system resources from the streams
if(fis!=null)
fis.close();
if(fc!=null)
fc.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:
No of bytes read: 1; Char read: A No of bytes read: 2; Char read: B No of bytes read: 3; Char read: C No of bytes read: 4; Char read: D No of bytes read: 5; Char read: E No of bytes read: 6; Char read: F