FileChannel.Force(Boolean) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
強制將此通道檔案的任何更新寫入包含此通道的儲存設備。
[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 屬性授權中所述的詞彙使用。