Поделиться через


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 этот метод необходим для принудительного изменения содержимого и метаданных файла, которые необходимо записать в хранилище; в противном случае необходимо принудительно записать изменения содержимого.

Атрибуты

Исключения

Значение , если этот канал уже закрыт.

Если возникает другая ошибка ввода-вывода.

Комментарии

Принудительно выполняет запись всех обновлений файла этого канала на устройство хранилища, содержащее его.

Если файл этого канала находится на локальном устройстве хранения, то при возврате этого метода гарантируется, что все изменения, внесенные в файл с момента создания этого канала, или после последнего вызова этого метода будут записаны на это устройство. Это полезно для обеспечения того, чтобы критически важные сведения не были потеряны в случае сбоя системы.

Если файл не находится на локальном устройстве, то такая гарантия не выполняется.

Параметр metaData можно использовать для ограничения количества операций ввода-вывода, необходимых для выполнения этого метода. Передача этого параметра указывает, что необходимо записать только обновления содержимого файла в хранилище. Передача falsetrue указывает, что обновления содержимого и метаданные файла должны быть записаны, поэтому обычно требуется хотя бы одна операция ввода-вывода. Независимо от того, зависит ли этот параметр от базовой операционной системы и поэтому не указан.

Вызов этого метода может привести к возникновению операции ввода-вывода, даже если канал был открыт только для чтения. Например, некоторые операционные системы поддерживают время последнего доступа в рамках метаданных файла, и это время обновляется при чтении файла. Независимо от того, зависит ли это на самом деле, зависит от системы и поэтому не указано.

Этот метод гарантирует только принудительное внесение изменений в файл этого канала с помощью методов, определенных в этом классе. Он может или не может принудительно вносить изменения, изменяя #map map содержимое полученного MappedByteBuffer <i>mapped byte buffer</i> путем вызова метода. Вызов MappedByteBuffer#force force метода сопоставленного буфера байтов приведет к принудительному внесению изменений в содержимое буфера.

Документация по Java для java.nio.channels.FileChannel.force(boolean).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к