📜  Java中的 FileInputStream getChannel() 方法及示例

📅  最后修改于: 2022-05-13 01:55:01.399000             🧑  作者: Mango

Java中的 FileInputStream getChannel() 方法及示例

getChannel()方法是Java.io.FileInputStream 类的一部分。此方法将返回与文件输入流关联的唯一 FileChannel 对象。

  • 从Java.io.FileInputStream 实例的 getChannel() 方法获得的通道将“打开以供读取”。
  • getChannel() 将返回与“this” FileInputStream 实例关联的 FileChannel 对象。
  • 每当我们从该流中读取字节时,通道位置都会发生变化。
  • 每当频道的位置改变时,流的文件位置也会改变。
  • 从文件中读取的字节数将决定返回通道的初始位置。

句法:

public FileChannel getChannel()

参数: getChannel() 方法没有参数。

返回类型: getChannel() 方法将返回一个唯一的 FileChannel 对象。

如何调用 getChannel() 方法?

第 1 步:首先,我们必须创建一个Java.io.FileInputStream 类的实例

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

第 2 步:要获取与此 fileInputStream 关联的唯一 FileChannel 对象,我们将调用 getChannel() 方法

FileChannel fileChannel = fileInputStream.getChannel();

下面的程序将说明 getChannel() 方法的使用。

示例:获取 FileChannel 对象然后打印通道文件大小的程序

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());
        }
    }
}


输出:

Current size of the file is 48

tmp.txt