Compartir a través de


FileChannel.Force(Boolean) Método

Definición

Obliga a que las actualizaciones del archivo de este canal se escriban en el dispositivo de almacenamiento que lo contiene.

[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

Si true , a continuación, este método es necesario para forzar los cambios en el contenido y los metadatos del archivo que se van a escribir en el almacenamiento; de lo contrario, solo necesita forzar que se escriban cambios de contenido.

Atributos

Excepciones

si este canal ya está cerrado.

si se produce otro error de E/S.

Comentarios

Obliga a que las actualizaciones del archivo de este canal se escriban en el dispositivo de almacenamiento que lo contiene.

Si el archivo de este canal reside en un dispositivo de almacenamiento local, cuando este método devuelve, se garantiza que todos los cambios realizados en el archivo desde que se creó este canal, o desde que se invocó por última vez este método, se escribirán en ese dispositivo. Esto es útil para garantizar que la información crítica no se pierda en caso de bloqueo del sistema.

Si el archivo no reside en un dispositivo local, no se realiza dicha garantía.

El metaData parámetro se puede usar para limitar el número de operaciones de E/S necesarias para realizar este método. Pasar false para este parámetro indica que solo se deben escribir actualizaciones del contenido del archivo en el almacenamiento; pasar true indica que las actualizaciones del contenido y los metadatos del archivo deben escribirse, lo que normalmente requiere al menos una operación de E/S más. Si este parámetro realmente tiene algún efecto depende del sistema operativo subyacente y, por tanto, no se especifica.

Invocar este método puede hacer que se produzca una operación de E/S incluso si el canal solo se abrió para la lectura. Algunos sistemas operativos, por ejemplo, mantienen una hora de último acceso como parte de los metadatos de un archivo y esta vez se actualiza cada vez que se lee el archivo. Si esto realmente se hace es dependiente del sistema y, por tanto, no se especifica.

Este método solo se garantiza para forzar los cambios realizados en el archivo de este canal a través de los métodos definidos en esta clase. Puede o no forzar cambios realizados modificando el contenido de un MappedByteBuffer <i>mapped byte buffer</i> obtenido invocando el #map map método . Invocar el MappedByteBuffer#force force método del búfer de bytes asignado forzará los cambios realizados en el contenido del búfer que se va a escribir.

Documentación de Java para java.nio.channels.FileChannel.force(boolean).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a