AsynchronousFileChannel Classe

Definição

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
AsynchronousFileChannel
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 Object.

(Herdado de Object)
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 self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

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 selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a