繁体   English   中英

Java:RandomAccessFile模式“rws”vs“rwd”?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM