为什么以及何时需要Java中的文件通道?

时间:2017-11-17 17:17:37

标签: java filechannel

这是我遇到文件频道的时候。我在通道上锁定以锁定进程以避免其他进程使用它。

在线阅读时,我知道Channel就像是一个通过I / O操作访问文件的端点,但它总是从缓冲区读写。

这是我遇到的一个例子

 String filePath = "readfile.txt";
 printFileContents(filePath);
 Path path = Paths.get(filePath);

 FileChannel fileChannel =  FileChannel.open(path);
 ByteBuffer buffer = ByteBuffer.allocate(6); 
 int noOfBytesRead = fileChannel.read(buffer);

在第5行,缓冲区正在创建限制6.但我在最后一步感到困惑。缓冲区只是空的但是限制为6,filechannel应该从缓冲区中读取但是它在这里发生了吗?filechannel是否在缓冲区中放置了6个内容的第一个限制而不是从那里读取它?

任何人都可以帮助我理解它,它是如何工作的?那么使用Filechannels的实际目的是什么?

0 个答案:

没有答案