[英]Java: RandomAccessFile Mode “rws” vs “rwd”?
RandomAccessFile
构造函数接受指定文件应如何打开的mode
字符串。
我对"rws"
和"rwd"
模式之间的区别感到困惑。
这是文档所说的内容:
“rws”用于读写,与“rw”一样,并且还要求将文件内容或元数据的每次更新同步写入底层存储设备。
“rwd”用于读写,与“rw”一样,并且还要求将文件内容的每次更新同步写入底层存储设备。
[...]
“rwd”模式可用于减少执行的I / O操作的数量。 使用“rwd”只需要将文件内容的更新写入存储; 使用“rws”需要更新文件的内容及其要写入的元数据,这通常需要至少一个低级别的I / O操作。
......并没有解释metadata
含义。 这是否意味着"rws"
更新文件系统上的最后修改时间戳 ,而"rwd"
不会?
这是否意味着“rws”更新文件系统上的最后修改时间戳,而“rwd”不会?
rws刷新文件的内容和文件的修改日期。
rwd刷新文件的内容,但修改日期可能不会更改,直到文件关闭。
rw只在你告诉它时刷新,并且在你关闭文件之前不会改变修改日期。
写入时的BTW rwd比rw慢得多,并且rws再次变慢。
FileChannel API中有一些关于文件元数据的信息http://docs.oracle.com/javase/7/docs/api/java/nio/channels/FileChannel.html
...The file may also have some associated metadata such as access permissions, content type, and last-modification time...
此外, FileChannel.force(boolean metadata)
API提供了有关rws和rwd之间差异的更多信息(尽管名称从未被提及)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.