AsynchronousFileChannel Clase
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í.
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
- 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| 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 |