FileChannel.Force(Boolean) 方法

定义

强制将此通道的文件的任何更新写入包含它的存储设备。

[Android.Runtime.Register("force", "(Z)V", "GetForce_ZHandler")]
public abstract void Force (bool metaData);
[<Android.Runtime.Register("force", "(Z)V", "GetForce_ZHandler")>]
abstract member Force : bool -> unit

参数

metaData
Boolean

如果需要 true 此方法才能强制更改文件的内容和要写入存储的元数据;否则,只需强制写入内容更改

属性

例外

如果此通道已关闭,则为 。

如果发生另一个 I/O 错误,则为 。

注解

强制将此通道的文件的任何更新写入包含它的存储设备。

如果此通道的文件驻留在本地存储设备上,则当此方法返回时,可以保证自创建此通道以来对文件所做的所有更改,或者自上次调用此方法以来,都将写入该设备。 这可用于确保系统崩溃时不会丢失关键信息。

如果文件不驻留在本地设备上,则不会做出此类保证。

参数 metaData 可用于限制此方法执行所需的 I/O 操作数。 false为此参数传递表示仅需要将文件的内容的更新写入存储;传递true指示必须写入文件的内容和元数据的更新,这通常需要至少一个 I/O 操作。 此参数是否实际上有任何影响取决于基础操作系统,因此未指定。

调用此方法可能会导致 I/O 操作发生,即使仅打开通道进行读取。 例如,某些操作系统将上次访问时间作为文件的元数据的一部分进行维护,每次读取文件时,此时间将更新。 这是否实际上是由系统依赖的,因此未指定。

此方法仅保证通过此类中定义的方法强制对此通道文件所做的更改。 它可能或可能不会强制通过修改通过调用#map map方法获取的内容MappedByteBuffer <i>mapped byte buffer</i>而进行的更改。 调用 MappedByteBuffer#force force 映射字节缓冲区的方法将强制对缓冲区的内容进行更改以写入。

适用于 . 的 java.nio.channels.FileChannel.force(boolean)Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于