次の方法で共有


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 、ファイルのコンテンツとメタデータの両方の更新を書き込む必要があることを示します。通常、少なくとも 1 つの I/O 操作が必要です。 このパラメーターが実際に何らかの影響を与えるかどうかは、基になるオペレーティング システムに依存するため、指定されていません。

このメソッドを呼び出すと、チャネルが読み取り専用に開かれた場合でも、I/O 操作が発生する可能性があります。 たとえば、一部のオペレーティング システムでは、ファイルのメタデータの一部として最終アクセス時間が維持され、この時刻はファイルが読み取されるたびに更新されます。 これが実際に行われるかどうかはシステムに依存するため、指定されていません。

このメソッドは、このクラスで定義されているメソッドを使用して、このチャネルのファイルに加えられた変更を強制的に行う場合にのみ保証されます。 メソッドを呼び出#map mapして取得したコンテンツMappedByteBuffer <i>mapped byte buffer</i>を変更することによって行われた変更を強制する場合とそうでない場合があります。 マップされたバイト バッファーのメソッドを MappedByteBuffer#force force 呼び出すと、バッファーのコンテンツに加えられた変更が強制的に書き込まれます。

の Java ドキュメントjava.nio.channels.FileChannel.force(boolean)

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象