共用方式為


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 屬性授權中所述的詞彙使用。

適用於