AsynchronousFileChannel Clase

Definición

Un canal asincrónico para leer, escribir y manipular un archivo.

[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
Herencia
AsynchronousFileChannel
Atributos
Implementaciones

Comentarios

Un canal asincrónico para leer, escribir y manipular un archivo.

Se crea un canal de archivo asincrónico cuando se abre un archivo invocando uno de los #open open métodos definidos por esta clase. El archivo contiene una secuencia de bytes de longitud variable que se puede leer y escribir y cuyo tamaño actual puede ser #size() queried. El tamaño del archivo aumenta cuando los bytes se escriben más allá de su tamaño actual; el tamaño del archivo disminuye cuando es #truncate truncated.

Un canal de archivo asincrónico no tiene una posición actual dentro del archivo. En su lugar, la posición del archivo se especifica para cada método de lectura y escritura que inicia operaciones asincrónicas. CompletionHandler Se especifica como parámetro y se invoca para consumir el resultado de la operación de E/S. Esta clase también define métodos de lectura y escritura que inician operaciones asincrónicas, devolviendo un Future para representar el resultado pendiente de la operación. Future se puede usar para comprobar si la operación se ha completado, esperar su finalización y recuperar el resultado.

Además de las operaciones de lectura y escritura, esta clase define las siguientes operaciones:

<ul>

<li>

Las actualizaciones realizadas en un archivo pueden ser #force <i>forced out</i> para el dispositivo de almacenamiento subyacente, lo que garantiza que los datos no se pierdan en caso de bloqueo del sistema.

</li>

<li>

Es posible que otros programas accedan #lock <i>locked</i> a una región de un archivo.

</li>

</ul>

AsynchronousFileChannel Está asociado a un grupo de subprocesos al que se envían tareas para controlar eventos de E/S y enviar a controladores de finalización que consumen los resultados de las operaciones de E/S en el canal. Se garantiza que uno de los subprocesos del grupo de subprocesos ejecute el controlador de finalización para una operación de E/S iniciada en un canal.<><> Cuando una operación de E/S se completa inmediatamente y el subproceso iniciador es un subproceso en el grupo de subprocesos, el controlador de finalización se puede invocar directamente mediante el subproceso iniciador. Cuando se crea sin AsynchronousFileChannel especificar un grupo de subprocesos, el canal está asociado a un grupo de subprocesos predeterminado dependiente del sistema que se puede compartir con otros canales. Las propiedades del sistema definidas por la AsynchronousChannelGroup clase configuran el grupo de subprocesos predeterminado.

Los canales de este tipo son seguros para su uso por varios subprocesos simultáneos. El Channel#close close método se puede invocar en cualquier momento, según lo especificado por la Channel interfaz. Esto hace que todas las operaciones asincrónicas pendientes del canal se completen con la excepción AsynchronousCloseException. Es posible que varias operaciones de lectura y escritura estén pendientes al mismo tiempo. Cuando hay varias operaciones de lectura y escritura pendientes, no se especifica la ordenación de las operaciones de E/S y el orden en que se invocan los controladores de finalización; no están, en particular, garantizados para ejecutarse en el orden en que se iniciaron las operaciones. El java.nio.ByteBuffer ByteBuffers utilizado al leer o escribir no es seguro para su uso por varias operaciones simultáneas de E/S. Además, después de iniciar una operación de E/S, se debe tener cuidado para asegurarse de que no se tiene acceso al búfer hasta después de que se haya completado la operación.

Al igual que con FileChannel, se garantiza que la vista de un archivo proporcionado por una instancia de esta clase sea coherente con otras vistas del mismo archivo proporcionado por otras instancias del mismo programa. Sin embargo, la vista proporcionada por una instancia de esta clase puede o no ser coherente con las vistas que ven otros programas en ejecución simultánea debido al almacenamiento en caché realizado por el sistema operativo subyacente y retrasos provocados por protocolos de sistema de archivos de red. Esto es cierto independientemente del idioma en el que se escriben estos otros programas y si se ejecutan en la misma máquina o en algún otro equipo. La naturaleza exacta de cualquiera de estas incoherencias depende del sistema y, por tanto, no se especifica.

Agregado en la versión 1.7.

Java documentación para java.nio.channels.AsynchronousFileChannel.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Constructores

Nombre Description
AsynchronousFileChannel()

Inicializa una nueva instancia de esta clase.

AsynchronousFileChannel(IntPtr, JniHandleOwnership)

Un canal asincrónico para leer, escribir y manipular un archivo.

Propiedades

Nombre Description
Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
IsOpen

Un canal asincrónico para leer, escribir y manipular un archivo.

JniIdentityHashCode

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

Un canal asincrónico para leer, escribir y manipular un archivo.

(Heredado de JavaObject)
JniPeerMembers

Un canal asincrónico para leer, escribir y manipular un archivo.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(Heredado de Object)
ThresholdClass

Un canal asincrónico para leer, escribir y manipular un archivo.

ThresholdType

Un canal asincrónico para leer, escribir y manipular un archivo.

Métodos

Nombre Description
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Close()

Cierra este canal.

Construct(JniObjectReference, JniObjectReferenceOptions)

Un canal asincrónico para leer, escribir y manipular un archivo.

(Heredado de JavaObject)
Dispose()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

Un canal asincrónico para leer, escribir y manipular un archivo.

(Heredado de JavaObject)
Equals(Object)

Un canal asincrónico para leer, escribir y manipular un archivo.

(Heredado de JavaObject)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
Force(Boolean)

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

GetHashCode()

Devuelve un valor de código hash para el objeto .

(Heredado de Object)
JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
Lock()

Adquiere un bloqueo exclusivo en el archivo de este canal.

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

Adquiere un bloqueo en la región especificada del archivo de este canal.

Lock(Int64, Int64, Boolean)

Adquiere un bloqueo en la región especificada del archivo de este canal.

Lock(Object, ICompletionHandler)

Adquiere un bloqueo exclusivo en el archivo de este canal.

Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
Open(IPath, ICollection<IOpenOption>, IExecutorService, IFileAttribute[])

Abre o crea un archivo para leer o escribir, devolviendo un canal de archivo asincrónico para acceder al archivo.

Open(IPath, IOpenOption[])

Abre o crea un archivo para leer o escribir, devolviendo un canal de archivo asincrónico para acceder al archivo.

Read(ByteBuffer, Int64, Object, ICompletionHandler)

Lee una secuencia de bytes de este canal en el búfer especificado, empezando por la posición de archivo especificada.

Read(ByteBuffer, Int64)

Lee una secuencia de bytes de este canal en el búfer especificado, empezando por la posición de archivo especificada.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Un canal asincrónico para leer, escribir y manipular un archivo.

(Heredado de JavaObject)
Size()

Devuelve el tamaño actual del archivo de este canal.

ToArray<T>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto .

(Heredado de Object)
Truncate(Int64)

Trunca el archivo de este canal al tamaño especificado.

TryLock()

Intenta adquirir un bloqueo exclusivo en el archivo de este canal.

TryLock(Int64, Int64, Boolean)

Intenta adquirir un bloqueo en la región especificada del archivo de este canal.

UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><>

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Write(ByteBuffer, Int64, Object, ICompletionHandler)

Escribe una secuencia de bytes en este canal desde el búfer especificado, empezando por la posición de archivo especificada.

Write(ByteBuffer, Int64)

Escribe una secuencia de bytes en este canal desde el búfer especificado, empezando por la posición de archivo especificada.

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Un canal asincrónico para leer, escribir y manipular un archivo.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Un canal asincrónico para leer, escribir y manipular un archivo.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Un canal asincrónico para leer, escribir y manipular un archivo.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un canal asincrónico para leer, escribir y manipular un archivo.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un canal asincrónico para leer, escribir y manipular un archivo.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un canal asincrónico para leer, escribir y manipular un archivo.

(Heredado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Un canal asincrónico para leer, escribir y manipular un archivo.

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Un canal asincrónico para leer, escribir y manipular un archivo.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a