在javadoc中该方法的解释如下:
Returns: The current size of this channel's file, measured in bytes
我需要问这个方法调用是否实际上导致以某种方式读取/消耗文件的全部内容?换句话说,这个方法调用是否非常快速且便宜,或者取决于文件的大小?
最佳答案
OpenJDK 中 FileChannel 的实现使用 fstat64或GetFileSize获取文件的大小。速度非常快。
但规范并不要求此方法以恒定时间运行。因此,可能存在 JVM 的实现,其中调用此方法会读取整个文件。
关于java - java.nio.channels.FileChannel.size() 对于大文件来说速度快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41595688/