AsynchronousFileChannel Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Um canal assíncrono para ler, gravar e manipular um arquivo.
[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
- Herança
- Atributos
- Implementações
Comentários
Um canal assíncrono para ler, gravar e manipular um arquivo.
Um canal de arquivo assíncrono é criado quando um arquivo é aberto invocando um dos #open open métodos definidos por essa classe. O arquivo contém uma sequência de bytes de comprimento variável que pode ser lida e gravada e cujo tamanho atual pode ser #size() queried. O tamanho do arquivo aumenta quando bytes são gravados além do tamanho atual; o tamanho do arquivo diminui quando ele é #truncate truncated.
Um canal de arquivo assíncrono não tem uma posição atual dentro do arquivo. Em vez disso, a posição do arquivo é especificada para cada método de leitura e gravação que inicia operações assíncronas. Um CompletionHandler é especificado como um parâmetro e é invocado para consumir o resultado da operação de E/S. Essa classe também define métodos de leitura e gravação que iniciam operações assíncronas, retornando um Future para representar o resultado pendente da operação. Pode Future ser usado para verificar se a operação foi concluída, aguardar sua conclusão e recuperar o resultado.
Além das operações de leitura e gravação, essa classe define as seguintes operações:
<ul>
<li>
As atualizações feitas em um arquivo podem ser #force <i>forced out</i> para o dispositivo de armazenamento subjacente, garantindo que os dados não sejam perdidos no caso de uma falha do sistema.
</li>
<li>
Uma região de um arquivo pode ser #lock <i>locked</i> contra o acesso por outros programas.
</li>
</ul>
Um AsynchronousFileChannel é associado a um pool de threads ao qual as tarefas são enviadas para lidar com eventos de E/S e expedir para manipuladores de conclusão que consomem os resultados das operações de E/S no canal. O manipulador de conclusão de uma operação de E/S iniciada em um canal tem a garantia de ser invocado por um dos threads no pool de threads (isso garante que o manipulador de conclusão seja executado por um thread com a identidade/em> esperada<>).< Quando uma operação de E/S é concluída imediatamente e o thread de iniciação é um thread no pool de threads, o manipulador de conclusão pode ser invocado diretamente pelo thread de início. Quando um AsynchronousFileChannel é criado sem especificar um pool de threads, o canal é associado a um pool de threads padrão dependente do sistema que pode ser compartilhado com outros canais. O pool de threads padrão é configurado pelas propriedades do sistema definidas pela AsynchronousChannelGroup classe.
Canais desse tipo são seguros para uso por vários threads simultâneos. O Channel#close close método pode ser invocado a qualquer momento, conforme especificado pela Channel interface. Isso faz com que todas as operações assíncronas pendentes no canal são concluídas com a exceção AsynchronousCloseException. Várias operações de leitura e gravação podem estar pendentes ao mesmo tempo. Quando várias operações de leitura e gravação estão pendentes, a ordenação das operações de E/S e a ordem em que os manipuladores de conclusão são invocados não são especificadas; eles não são, em particular, garantidos para executar na ordem em que as operações foram iniciadas. O java.nio.ByteBuffer ByteBuffers usado ao ler ou gravar não é seguro para uso por várias operações simultâneas de E/S. Além disso, depois que uma operação de E/S é iniciada, deve-se tomar cuidado para garantir que o buffer não seja acessado até que a operação seja concluída.
Assim como acontece FileChannel, a exibição de um arquivo fornecido por uma instância dessa classe tem a garantia de ser consistente com outros modos de exibição do mesmo arquivo fornecido por outras instâncias no mesmo programa. A exibição fornecida por uma instância dessa classe pode ou não ser consistente com as exibições vistas por outros programas em execução simultânea devido ao cache executado pelo sistema operacional subjacente e atrasos induzidos por protocolos de sistema de arquivos de rede. Isso é verdadeiro independentemente da linguagem em que esses outros programas são escritos e se eles estão em execução no mesmo computador ou em algum outro computador. A natureza exata de tais inconsistências são dependentes do sistema e, portanto, não são especificadas.
Adicionado em 1.7.
Java documentação para java.nio.channels.AsynchronousFileChannel.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| AsynchronousFileChannel() |
Inicializa uma nova instância dessa classe. |
| AsynchronousFileChannel(IntPtr, JniHandleOwnership) |
Um canal assíncrono para ler, gravar e manipular um arquivo. |
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de runtime deste |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| IsOpen |
Um canal assíncrono para ler, gravar e manipular um arquivo. |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniManagedPeerState |
Um canal assíncrono para ler, gravar e manipular um arquivo. (Herdado de JavaObject) |
| JniPeerMembers |
Um canal assíncrono para ler, gravar e manipular um arquivo. |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| ThresholdClass |
Um canal assíncrono para ler, gravar e manipular um arquivo. |
| ThresholdType |
Um canal assíncrono para ler, gravar e manipular um arquivo. |
Métodos
| Nome | Description |
|---|---|
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| Close() |
Fecha este canal. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Um canal assíncrono para ler, gravar e manipular um arquivo. (Herdado de JavaObject) |
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| DisposeUnlessReferenced() |
Um canal assíncrono para ler, gravar e manipular um arquivo. (Herdado de JavaObject) |
| Equals(Object) |
Um canal assíncrono para ler, gravar e manipular um arquivo. (Herdado de JavaObject) |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| Force(Boolean) |
Força todas as atualizações para o arquivo deste canal a serem gravadas no dispositivo de armazenamento que o contém. |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| Lock() |
Adquire um bloqueio exclusivo no arquivo deste canal. |
| Lock(Int64, Int64, Boolean, Object, ICompletionHandler) |
Adquire um bloqueio na região especificada do arquivo deste canal. |
| Lock(Int64, Int64, Boolean) |
Adquire um bloqueio na região especificada do arquivo deste canal. |
| Lock(Object, ICompletionHandler) |
Adquire um bloqueio exclusivo no arquivo deste canal. |
| Notify() |
Ativa um único thread que está aguardando no monitor deste objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| Open(IPath, ICollection<IOpenOption>, IExecutorService, IFileAttribute[]) |
Abre ou cria um arquivo para leitura e/ou gravação, retornando um canal de arquivo assíncrono para acessar o arquivo. |
| Open(IPath, IOpenOption[]) |
Abre ou cria um arquivo para leitura e/ou gravação, retornando um canal de arquivo assíncrono para acessar o arquivo. |
| Read(ByteBuffer, Int64, Object, ICompletionHandler) |
Lê uma sequência de bytes desse canal no buffer fornecido, começando na posição de arquivo fornecida. |
| Read(ByteBuffer, Int64) |
Lê uma sequência de bytes desse canal no buffer fornecido, começando na posição de arquivo fornecida. |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Um canal assíncrono para ler, gravar e manipular um arquivo. (Herdado de JavaObject) |
| Size() |
Retorna o tamanho atual do arquivo deste canal. |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| Truncate(Int64) |
Trunca o arquivo desse canal para o tamanho fornecido. |
| TryLock() |
Tenta adquirir um bloqueio exclusivo no arquivo deste canal. |
| TryLock(Int64, Int64, Boolean) |
Tenta adquirir um bloqueio na região especificada do arquivo deste canal. |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| Wait() |
Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<> (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Write(ByteBuffer, Int64, Object, ICompletionHandler) |
Grava uma sequência de bytes nesse canal do buffer fornecido, começando na posição de arquivo fornecida. |
| Write(ByteBuffer, Int64) |
Grava uma sequência de bytes nesse canal do buffer fornecido, começando na posição de arquivo fornecida. |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
Um canal assíncrono para ler, gravar e manipular um arquivo. (Herdado de JavaObject) |
| IJavaPeerable.Finalized() |
Um canal assíncrono para ler, gravar e manipular um arquivo. (Herdado de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Um canal assíncrono para ler, gravar e manipular um arquivo. (Herdado de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Um canal assíncrono para ler, gravar e manipular um arquivo. (Herdado de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Um canal assíncrono para ler, gravar e manipular um arquivo. (Herdado de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Um canal assíncrono para ler, gravar e manipular um arquivo. (Herdado de JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
Um canal assíncrono para ler, gravar e manipular um arquivo. |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo marcada por runtime do Android. |
| JavaCast<TResult>(IJavaObject) |
Um canal assíncrono para ler, gravar e manipular um arquivo. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |