FileChannel.Force(Boolean) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.