【问题标题】:How frequently is RandomAccessFile length updated?RandomAccessFile 长度多久更新一次?
【发布时间】:2016-05-20 00:07:18
【问题描述】:

我有一个 Java RandomAccessFile。我经常检查文件的长度。该文件来自scp。因此,文件被追加。

我想知道RandomAccessFile 的更新频率。每当我检查RandomAccessFile.length时,我会得到准确的length吗?

【问题讨论】:

  • 我很确定这取决于底层操作系统而不是 Java。 RandomAccessFile 将报告操作系统告诉它的当前长度。大小的更新频率将取决于scp 如何缓冲它对磁盘的写入。
  • 好的。假设我初始化一个普通的File 对象并检查长度。它会和RandomAccessFile 的长度和File.length 一样吗?

标签: java file java-io randomaccessfile


【解决方案1】:

由于该方法是原生的,我建议您查看 OpenJDK 源代码。这是您最接近实际实施的事情(除非您为 Oracle 工作;-)。

来源可以在这里找到(它在所有操作系统之间共享):src/share/native/java/io/RandomAccessFile.c

tl;dr 是的,它会尝试找到RandomAccessFile 所指的文件描述符的末尾。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-03
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 2018-05-10
    • 2018-08-22
    • 1970-01-01
    相关资源
    最近更新 更多