Partilhar via


FileInputStream Classe

  • java.lang.Object
    • InputStream
      • com.microsoft.azure.storage.file.FileInputStream

public class FileInputStream

Fornece um fluxo de entrada para ler um determinado recurso de arquivo.

Resumo do Construtor

Construtor Description
FileInputStream(final CloudFile parentFile, final AccessCondition accessCondition, final FileRequestOptions options, final OperationContext opContext)

Inicializa uma nova instância da classe FileInputStream.

Resumo do método

Modificador e tipo Método e descrição
synchronized int available()

Retorna uma estimativa do número de bytes que podem ser lidos (ou ignorados) desse fluxo de entrada sem bloquear pela próxima invocação de um método para esse fluxo de entrada. A próxima invocação pode ser o mesmo thread ou outro thread. Uma única leitura ou ignorar esses muitos bytes não bloqueará, mas poderá ler ou ignorar menos bytes.

synchronized void close()

Fecha esse fluxo de entrada e libera todos os recursos do sistema associados ao fluxo.

synchronized void mark(final int readlimit)

Marca a posição atual neste fluxo de entrada. Uma chamada subsequente para o método de redefinição reposiciona esse fluxo na última posição marcada para que as leituras subsequentes leiam novamente os mesmos bytes.

boolean markSupported()

Testa se esse fluxo de entrada dá suporte aos métodos de marca e redefinição. Se há suporte ou não para marcar e redefinir é uma propriedade invariável de uma instância de fluxo de entrada específica. O método markSupported de InputStream retorna false.

int read()

Lê o próximo byte de dados do fluxo de entrada. O byte de valor é retornado como um int no intervalo de 0 a 255. Se nenhum byte estiver disponível porque o final do fluxo foi atingido, o valor -1 será retornado. Esse método bloqueia até que os dados de entrada sejam disponíveis, o final do fluxo seja detectado ou uma exceção seja gerada.

int read(final byte[] b)

Lê alguns bytes do fluxo de entrada e os armazena na matriz de buffers . O número de bytes realmente lidos é retornado como um inteiro. Esse método bloqueia até que os dados de entrada sejam disponíveis, o fim do arquivo seja detectado ou uma exceção seja gerada. Se o comprimento de for zero, nenhum bytes será lido e 0 será retornado; caso contrário, há uma tentativa de ler pelo menos um byte. Se nenhum byte estiver disponível porque o fluxo está no final do arquivo, o valor -1 será retornado; caso contrário, pelo menos um byte é lido e armazenado em .

A primeira leitura de byte é armazenada no elemento , a próxima no e assim por diante. O número de bytes lidos é, no máximo, igual ao comprimento de . Que seja o número de bytes realmente lidos; esses bytes serão armazenados em elementos por meio de , deixando os elementos por meio de não afetados.

O método para classe InputStream tem o mesmo efeito que:

int read(final byte[] b, final int off, final int len)

Lê até bytes de dados do fluxo de entrada em uma matriz de bytes. É feita uma tentativa de ler até bytes, mas um número menor pode ser lido. O número de bytes realmente lidos é retornado como um inteiro. Esse método bloqueia até que os dados de entrada sejam disponíveis, o fim do arquivo seja detectado ou uma exceção seja gerada.

Se for zero, nenhum bytes será lido e 0 será retornado; caso contrário, há uma tentativa de ler pelo menos um byte. Se nenhum byte estiver disponível porque o fluxo está no final do arquivo, o valor -1 será retornado; caso contrário, pelo menos um byte é lido e armazenado em .

A primeira leitura de byte é armazenada no elemento , a próxima no e assim por diante. O número de bytes lidos é, no máximo, igual a . Que seja o número de bytes realmente lidos; esses bytes serão armazenados em elementos por meio de , deixando os elementos por meio de não afetados.

Em todos os casos, os elementos por meio de elementos por meio de não são afetados.

O método para classe InputStream simplesmente chama o método repetidamente. Se a primeira chamada desse tipo resultar em um , essa exceção será retornada da chamada para o método . Se qualquer chamada subsequente resultar em um , a exceção será capturada e tratada como se fosse o fim do arquivo; os bytes lidos até esse ponto são armazenados e o número de bytes lidos antes da exceção ocorrer é retornado. A implementação padrão desse método é bloqueada até que a quantidade solicitada de dados de entrada seja lida, o fim do arquivo seja detectado ou uma exceção seja gerada. As subclasses são incentivadas a fornecer uma implementação mais eficiente desse método.

synchronized void reset()

Reposiciona esse fluxo para a posição no momento em que o método mark foi chamado pela última vez neste fluxo de entrada. Observe que reposicionar o fluxo de leitura do arquivo desabilitará a verificação do arquivo MD5.

synchronized long skip(final long n)

Ignora e descarta n bytes de dados desse fluxo de entrada. O método skip pode, por várias razões, acabar ignorando um número menor de bytes, possivelmente 0. Isso pode resultar de uma série de condições; chegar ao fim do arquivo antes que n bytes tenham sido ignorados é apenas uma possibilidade. O número real de bytes ignorados é retornado. Se n for negativo, nenhum bytes será ignorado.

Observe que reposicionar o fluxo de leitura do arquivo desabilitará a verificação do arquivo MD5.

Detalhes do construtor

FileInputStream

protected FileInputStream(final CloudFile parentFile, final AccessCondition accessCondition, final FileRequestOptions options, final OperationContext opContext)

Inicializa uma nova instância da classe FileInputStream.

Parameters:

parentFile - Um CloudFile objeto que representa o arquivo ao qual esse fluxo está associado.
accessCondition - Um AccessCondition objeto que representa as condições de acesso para o arquivo.
options - Um FileRequestOptions objeto que representa que especifica as opções adicionais para a solicitação.
opContext - Um OperationContext objeto que é usado para acompanhar a execução da operação.

Throws:

StorageException - Uma exceção que representa qualquer erro que ocorreu durante a operação.

Detalhes do método

available

public synchronized int available()

Retorna uma estimativa do número de bytes que podem ser lidos (ou ignorados) desse fluxo de entrada sem bloquear pela próxima invocação de um método para esse fluxo de entrada. A próxima invocação pode ser o mesmo thread ou outro thread. Uma única leitura ou ignorar esses muitos bytes não bloqueará, mas poderá ler ou ignorar menos bytes.

Returns:

Um int que representa uma estimativa do número de bytes que podem ser lidos (ou ignorados) desse fluxo de entrada sem bloqueio ou 0 quando ele atinge o final do fluxo de entrada.

Throws:

IOException - Se ocorrer um erro de E/S.

close

public synchronized void close()

Fecha esse fluxo de entrada e libera todos os recursos do sistema associados ao fluxo.

Throws:

IOException - Se ocorrer um erro de E/S.

mark

public synchronized void mark(final int readlimit)

Marca a posição atual neste fluxo de entrada. Uma chamada subsequente para o método de redefinição reposiciona esse fluxo na última posição marcada para que as leituras subsequentes leiam novamente os mesmos bytes.

Parameters:

readlimit - Um int que representa o limite máximo de bytes que pode ser lido antes que a posição da marca se torne inválida.

markSupported

public boolean markSupported()

Testa se esse fluxo de entrada dá suporte aos métodos de marca e redefinição. Se há suporte ou não para marcar e redefinir é uma propriedade invariável de uma instância de fluxo de entrada específica. O método markSupported de InputStream retorna false.

Returns:

True se essa instância de fluxo der suporte aos métodos de marca e redefinição; False Caso contrário.

read

public int read()

Lê o próximo byte de dados do fluxo de entrada. O byte de valor é retornado como um int no intervalo de 0 a 255. Se nenhum byte estiver disponível porque o final do fluxo foi atingido, o valor -1 será retornado. Esse método bloqueia até que os dados de entrada sejam disponíveis, o final do fluxo seja detectado ou uma exceção seja gerada.

Returns:

Um int que representa o número total de bytes lidos no buffer ou -1 se não houver mais dados porque o final do fluxo foi atingido.

Throws:

IOException - Se ocorrer um erro de E/S.

read

public int read(final byte[] b)

Lê alguns bytes do fluxo de entrada e os armazena na matriz de buffers . O número de bytes realmente lidos é retornado como um inteiro. Esse método bloqueia até que os dados de entrada sejam disponíveis, o fim do arquivo seja detectado ou uma exceção seja gerada. Se o comprimento de for zero, nenhum bytes será lido e 0 será retornado; caso contrário, há uma tentativa de ler pelo menos um byte. Se nenhum byte estiver disponível porque o fluxo está no final do arquivo, o valor -1 será retornado; caso contrário, pelo menos um byte é lido e armazenado em .

A primeira leitura de byte é armazenada no elemento , a próxima no e assim por diante. O número de bytes lidos é, no máximo, igual ao comprimento de . Que seja o número de bytes realmente lidos; esses bytes serão armazenados em elementos por meio de , deixando os elementos por meio de não afetados.

O método para classe InputStream tem o mesmo efeito que:

Parameters:

b - Uma byte matriz que representa o buffer no qual os dados são lidos.

Throws:

IOException - Se o primeiro byte não puder ser lido por qualquer motivo diferente do final do arquivo, se o fluxo de entrada tiver sido fechado ou se ocorrer algum outro erro de E/S.
NullPointerException - Se a byte matriz b for nula.

read

public int read(final byte[] b, final int off, final int len)

Lê até bytes de dados do fluxo de entrada em uma matriz de bytes. É feita uma tentativa de ler até bytes, mas um número menor pode ser lido. O número de bytes realmente lidos é retornado como um inteiro. Esse método bloqueia até que os dados de entrada sejam disponíveis, o fim do arquivo seja detectado ou uma exceção seja gerada.

Se for zero, nenhum bytes será lido e 0 será retornado; caso contrário, há uma tentativa de ler pelo menos um byte. Se nenhum byte estiver disponível porque o fluxo está no final do arquivo, o valor -1 será retornado; caso contrário, pelo menos um byte é lido e armazenado em .

A primeira leitura de byte é armazenada no elemento , a próxima no e assim por diante. O número de bytes lidos é, no máximo, igual a . Que seja o número de bytes realmente lidos; esses bytes serão armazenados em elementos por meio de , deixando os elementos por meio de não afetados.

Em todos os casos, os elementos por meio de elementos por meio de não são afetados.

O método para classe InputStream simplesmente chama o método repetidamente. Se a primeira chamada desse tipo resultar em um , essa exceção será retornada da chamada para o método . Se qualquer chamada subsequente resultar em um , a exceção será capturada e tratada como se fosse o fim do arquivo; os bytes lidos até esse ponto são armazenados e o número de bytes lidos antes da exceção ocorrer é retornado. A implementação padrão desse método é bloqueada até que a quantidade solicitada de dados de entrada seja lida, o fim do arquivo seja detectado ou uma exceção seja gerada. As subclasses são incentivadas a fornecer uma implementação mais eficiente desse método.

Parameters:

b - Uma byte matriz que representa o buffer no qual os dados são lidos.
off - Um int que representa o deslocamento inicial na byte matriz na qual os dados são gravados.
len - Um int que representa o número máximo de bytes a serem lidos.

Returns:

Um int que representa o número total de bytes lidos no buffer ou -1 se não houver mais dados porque o final do fluxo foi atingido.

Throws:

IOException - Se o primeiro byte não puder ser lido por qualquer motivo diferente do fim do arquivo ou se o fluxo de entrada tiver sido fechado ou se ocorrer algum outro erro de E/S.
NullPointerException - Se a byte matriz b for nula.
IndexOutOfBoundsException - Se off for negativo, len for negativo ou len for maior que b.length - off.

reset

public synchronized void reset()

Reposiciona esse fluxo para a posição no momento em que o método mark foi chamado pela última vez neste fluxo de entrada. Observe que reposicionar o fluxo de leitura do arquivo desabilitará a verificação do arquivo MD5.

Throws:

IOException - Se esse fluxo não tiver sido marcado ou se a marca tiver sido invalidada.

skip

public synchronized long skip(final long n)

Ignora e descarta n bytes de dados desse fluxo de entrada. O método skip pode, por várias razões, acabar ignorando um número menor de bytes, possivelmente 0. Isso pode resultar de uma série de condições; chegar ao fim do arquivo antes que n bytes tenham sido ignorados é apenas uma possibilidade. O número real de bytes ignorados é retornado. Se n for negativo, nenhum bytes será ignorado.

Observe que reposicionar o fluxo de leitura do arquivo desabilitará a verificação do arquivo MD5.

Parameters:

n - Um long que representa o número de bytes a serem ignoradas.

Aplica-se a