Langage

AsynchronousFileChannel Classe

Définition

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

[Android.Runtime.Register("java/nio/channels/AsynchronousFileChannel", ApiSince=26, DoNotGenerateAcw=true)]
public abstract class AsynchronousFileChannel : Java.Lang.Object, IDisposable, Java.Nio.Channels.IAsynchronousChannel
[<Android.Runtime.Register("java/nio/channels/AsynchronousFileChannel", ApiSince=26, DoNotGenerateAcw=true)>]
type AsynchronousFileChannel = class
    inherit Object
    interface IAsynchronousChannel
    interface IChannel
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Héritage
AsynchronousFileChannel
Attributs
Implémente

Remarques

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

Un canal de fichier asynchrone est créé lorsqu’un fichier est ouvert en appelant l’une des #open open méthodes définies par cette classe. Le fichier contient une séquence d’octets de longueur variable qui peut être lue et écrite et dont la taille actuelle peut être #size() queried. La taille du fichier augmente lorsque les octets sont écrits au-delà de sa taille actuelle ; la taille du fichier diminue lorsqu’il est #truncate truncated.

Un canal de fichier asynchrone n’a pas de position actuelle dans le fichier. Au lieu de cela, la position du fichier est spécifiée pour chaque méthode de lecture et d’écriture qui lance des opérations asynchrones. Un CompletionHandler est spécifié en tant que paramètre et est appelé pour consommer le résultat de l’opération d’E/S. Cette classe définit également des méthodes de lecture et d’écriture qui lancent des opérations asynchrones, en retournant un Future pour représenter le résultat en attente de l’opération. Vous Future pouvez l’utiliser pour vérifier si l’opération s’est terminée, attendre sa fin et récupérer le résultat.

En plus des opérations de lecture et d’écriture, cette classe définit les opérations suivantes :

<ul>

<li>

Les mises à jour apportées à un fichier peuvent être #force <i>forced out</i> effectuées sur l’appareil de stockage sous-jacent, ce qui garantit que les données ne sont pas perdues en cas de blocage du système.

</li>

<li>

Une région d’un fichier peut être #lock <i>locked</i> contre l’accès par d’autres programmes.

</li>

</ul>

Il AsynchronousFileChannel est associé à un pool de threads auquel les tâches sont envoyées pour gérer les événements d’E/S et les distribuer aux gestionnaires d’achèvement qui consomment les résultats des opérations d’E/S sur le canal. Le gestionnaire d’achèvement d’une opération d’E/S lancée sur un canal est garanti pour être appelé par l’un des threads du pool de threads (cela garantit que le gestionnaire d’achèvement est exécuté par un thread avec l’identité< em>/em> attendue<). Lorsqu’une opération d’E/S se termine immédiatement et que le thread de lancement est lui-même un thread dans le pool de threads, le gestionnaire d’achèvement peut être appelé directement par le thread de lancement. Lorsqu’un pool AsynchronousFileChannel de threads est créé sans spécifier de pool de threads, le canal est associé à un pool de threads par défaut dépendant du système qui peut être partagé avec d’autres canaux. Le pool de threads par défaut est configuré par les propriétés système définies par la AsynchronousChannelGroup classe.

Les canaux de ce type sont sécurisés pour une utilisation par plusieurs threads simultanés. La Channel#close close méthode peut être appelée à tout moment, comme spécifié par l’interface Channel . Cela entraîne l’exécution de toutes les opérations asynchrones en attente sur le canal à l’exception AsynchronousCloseException. Plusieurs opérations de lecture et d’écriture peuvent être en attente en même temps. Lorsque plusieurs opérations de lecture et d’écriture sont en attente, l’ordre des opérations d’E/S et l’ordre dans lequel les gestionnaires d’achèvement sont appelés n’est pas spécifié ; elles ne sont pas, en particulier, garanties d’exécution dans l’ordre dans lequel les opérations ont été lancées. Utilisé java.nio.ByteBuffer ByteBuffers lors de la lecture ou de l’écriture ne sont pas sécurisés pour une utilisation par plusieurs opérations d’E/S simultanées. En outre, une fois qu’une opération d’E/S est lancée, vous devez veiller à ce que la mémoire tampon ne soit accessible qu’une fois l’opération terminée.

Comme avec FileChannel, la vue d’un fichier fourni par une instance de cette classe est garantie d’être cohérente avec d’autres vues du même fichier fourni par d’autres instances du même programme. Toutefois, la vue fournie par une instance de cette classe peut ou non être cohérente avec les vues vues par d’autres programmes en cours d’exécution simultanée en raison de la mise en cache effectuée par le système d’exploitation sous-jacent et des retards induits par les protocoles de système de fichiers réseau. Cela est vrai, quel que soit le langage dans lequel ces autres programmes sont écrits, et s’ils s’exécutent sur le même ordinateur ou sur un autre ordinateur. La nature exacte de toutes ces incohérences dépend du système et ne sont donc pas spécifiées.

Ajouté dans la version 1.7.

Java documentation pour java.nio.channels.AsynchronousFileChannel.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Constructeurs

Nom Description
AsynchronousFileChannel()

Initialise une nouvelle instance de cette classe.

AsynchronousFileChannel(IntPtr, JniHandleOwnership)

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

Propriétés

Nom Description
Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
IsOpen

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Object)
JniManagedPeerState

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

(Hérité de JavaObject)
JniPeerMembers

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Object)
ThresholdClass

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

ThresholdType

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

Méthodes

Nom Description
Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Close()

Ferme ce canal.

Construct(JniObjectReference, JniObjectReferenceOptions)

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

(Hérité de JavaObject)
Dispose()

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
DisposeUnlessReferenced()

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

(Hérité de JavaObject)
Equals(Object)

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

(Hérité de JavaObject)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
Force(Boolean)

Force les mises à jour du fichier de ce canal à écrire sur l’appareil de stockage qui le contient.

GetHashCode()

Retourne une valeur de code de hachage pour l’objet.

(Hérité de Object)
JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Lock()

Acquiert un verrou exclusif sur le fichier de ce canal.

Lock(Int64, Int64, Boolean, Object, ICompletionHandler)

Acquiert un verrou sur la région donnée du fichier de ce canal.

Lock(Int64, Int64, Boolean)

Acquiert un verrou sur la région donnée du fichier de ce canal.

Lock(Object, ICompletionHandler)

Acquiert un verrou exclusif sur le fichier de ce canal.

Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
Open(IPath, ICollection<IOpenOption>, IExecutorService, IFileAttribute[])

Ouvre ou crée un fichier pour la lecture et/ou l’écriture, en retournant un canal de fichier asynchrone pour accéder au fichier.

Open(IPath, IOpenOption[])

Ouvre ou crée un fichier pour la lecture et/ou l’écriture, en retournant un canal de fichier asynchrone pour accéder au fichier.

Read(ByteBuffer, Int64, Object, ICompletionHandler)

Lit une séquence d’octets de ce canal dans la mémoire tampon donnée, en commençant à la position de fichier donnée.

Read(ByteBuffer, Int64)

Lit une séquence d’octets de ce canal dans la mémoire tampon donnée, en commençant à la position de fichier donnée.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

(Hérité de JavaObject)
Size()

Retourne la taille actuelle du fichier de ce canal.

ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

Retourne une représentation sous forme de chaîne de l’objet.

(Hérité de Object)
Truncate(Int64)

Tronque le fichier de ce canal à la taille donnée.

TryLock()

Tente d’acquérir un verrou exclusif sur le fichier de ce canal.

TryLock(Int64, Int64, Boolean)

Tente d’acquérir un verrou sur la région donnée du fichier de ce canal.

UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

(Hérité de Object)
Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Write(ByteBuffer, Int64, Object, ICompletionHandler)

Écrit une séquence d’octets dans ce canal à partir de la mémoire tampon donnée, en commençant à la position de fichier donnée.

Write(ByteBuffer, Int64)

Écrit une séquence d’octets dans ce canal à partir de la mémoire tampon donnée, en commençant à la position de fichier donnée.

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

(Hérité de JavaObject)
IJavaPeerable.Finalized()

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

(Hérité de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

(Hérité de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

(Hérité de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

(Hérité de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Canal asynchrone pour la lecture, l’écriture et la manipulation d’un fichier.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à