首页 > 解决方案 > nio 包中等效的 java.io.InputStream#available() 方法

问题描述

该类FileInputStream有一个方法available()可以返回要消耗的剩余大小

我正在尝试将一个用于使用的程序转换FileInputStream为使用FileChannel,我知道我们可以使用FileChannel使用ByteBuffer,但我想知道如何从 中获取剩余的字节FileChannel,有什么想法吗?

标签: javajava-7niofilechannel

解决方案


该类FileInputStream有一个方法available(),它返回要消耗的剩余大小

这不是正确的解释。available()返回在没有流阻塞的情况下可以读取/跳过的字节数的估计值。通常,这是流当前缓冲的字节数(如果有)。它不描述直到流结束的字节数。

我想知道的是如何从FileChannel

比较FileChannel.position()FileChannel.size()查看剩余的字节数。


推荐阅读