FileChannel.Force(Boolean) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Força quaisquer atualizações no arquivo desse canal a serem gravadas no dispositivo de armazenamento que o contém.
[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
Parâmetros
- metaData
- Boolean
Se true
, em seguida, esse método for necessário para forçar as alterações no conteúdo do arquivo e nos metadados a serem gravados no armazenamento, caso contrário, ele precisará apenas forçar as alterações de conteúdo a serem gravadas
- Atributos
Exceções
se este canal já estiver fechado.
se ocorrer outro erro de E/S.
Comentários
Força quaisquer atualizações no arquivo desse canal a serem gravadas no dispositivo de armazenamento que o contém.
Se o arquivo desse canal residir em um dispositivo de armazenamento local, quando esse método retornar, é garantido que todas as alterações feitas no arquivo desde que esse canal foi criado, ou desde que esse método foi invocado pela última vez, terão sido gravadas nesse dispositivo. Isso é útil para garantir que informações críticas não sejam perdidas em caso de falha do sistema.
Se o arquivo não residir em um dispositivo local, então nenhuma garantia é feita.
O metaData
parâmetro pode ser usado para limitar o número de operações de E/S que esse método é necessário executar. Passar false
para esse parâmetro indica que apenas as atualizações do conteúdo do arquivo precisam ser gravadas no armazenamento, e passar true
indica que as atualizações do conteúdo e dos metadados do arquivo devem ser gravadas, o que geralmente requer pelo menos mais uma operação de E/S. Se esse parâmetro realmente tem algum efeito depende do sistema operacional subjacente e, portanto, não é especificado.
Invocar esse método pode fazer com que uma operação de E/S ocorra mesmo se o canal foi aberto apenas para leitura. Alguns sistemas operacionais, por exemplo, mantêm um tempo de último acesso como parte dos metadados de um arquivo, e esse tempo é atualizado sempre que o arquivo é lido. Se isso é realmente feito ou não, depende do sistema e, portanto, não é especificado.
Esse método só é garantido para forçar as alterações que foram feitas no arquivo deste canal por meio dos métodos definidos nesta classe. Ele pode ou não forçar alterações que foram feitas modificando o conteúdo de um MappedByteBuffer <i>mapped byte buffer</i>
obtido invocando o #map map
método. Invocar o MappedByteBuffer#force force
método do buffer de bytes mapeado forçará as alterações feitas no conteúdo do buffer a serem gravadas.
Documentação Java para java.nio.channels.FileChannel.force(boolean)
.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.