Condividi tramite


FileChannel.Force(Boolean) Metodo

Definizione

Forza la scrittura degli aggiornamenti al file del canale nel dispositivo di archiviazione che 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

Parametri

metaData
Boolean

Se true questo metodo è necessario per forzare le modifiche al contenuto e ai metadati del file da scrivere nella risorsa di archiviazione; in caso contrario, è necessario forzare solo la scrittura delle modifiche al contenuto

Attributi

Eccezioni

se questo canale è già chiuso.

se si verifica un altro errore di I/O.

Commenti

Forza la scrittura degli aggiornamenti al file del canale nel dispositivo di archiviazione che lo contiene.

Se il file del canale si trova in un dispositivo di archiviazione locale, quando questo metodo restituisce è garantito che tutte le modifiche apportate al file dopo la creazione del canale o dall'ultima chiamata di questo metodo siano state scritte nel dispositivo. Ciò è utile per garantire che le informazioni critiche non vengano perse in caso di arresto anomalo del sistema.

Se il file non risiede in un dispositivo locale, non viene effettuata alcuna garanzia di questo tipo.

Il metaData parametro può essere usato per limitare il numero di operazioni di I/O necessarie per eseguire questo metodo. Il passaggio false per questo parametro indica che è necessario scrivere nella risorsa di archiviazione solo gli aggiornamenti al contenuto del file. Il true passaggio indica che è necessario scrivere gli aggiornamenti sia al contenuto del file che ai metadati, che in genere richiedono almeno un'altra operazione di I/O. Se questo parametro ha effettivamente un effetto dipende dal sistema operativo sottostante e pertanto non è specificato.

La chiamata di questo metodo può causare l'esecuzione di un'operazione di I/O anche se il canale è stato aperto solo per la lettura. Alcuni sistemi operativi, ad esempio, mantengono un'ora di ultimo accesso come parte dei metadati di un file e questa volta viene aggiornato ogni volta che il file viene letto. Se questa operazione viene effettivamente eseguita è dipendente dal sistema e pertanto non è specificata.

Questo metodo è garantito solo per forzare le modifiche apportate al file del canale tramite i metodi definiti in questa classe. Può o non forzare le modifiche apportate modificando il contenuto di un MappedByteBuffer <i>mapped byte buffer</i> oggetto ottenuto richiamando il #map map metodo . Richiamando il MappedByteBuffer#force force metodo del buffer di byte mappato, le modifiche apportate al contenuto del buffer verranno scritte.

Documentazione java per java.nio.channels.FileChannel.force(boolean).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a