Compartir a través de


FileInputStream Clase

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

public class FileInputStream

Proporciona un flujo de entrada para leer un recurso de archivo determinado.

Resumen del constructor

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

Inicializa una nueva instancia de la clase FileInputStream.

Resumen del método

Modificador y tipo Método y descripción
synchronized int available()

Devuelve una estimación del número de bytes que se pueden leer (o omitir) de esta secuencia de entrada sin bloquear la siguiente invocación de un método para esta secuencia de entrada. La siguiente invocación podría ser el mismo subproceso u otro subproceso. Una sola lectura o omisión de estos muchos bytes no se bloqueará, pero puede leer o omitir menos bytes.

synchronized void close()

Cierra este flujo de entrada y libera los recursos del sistema asociados a la secuencia.

synchronized void mark(final int readlimit)

Marca la posición actual en este flujo de entrada. Una llamada posterior al método reset cambia la posición de esta secuencia en la última posición marcada para que las lecturas posteriores vuelvan a leer los mismos bytes.

boolean markSupported()

Comprueba si esta secuencia de entrada admite los métodos mark y reset. Si se admiten o no marcas y restablecimientos es una propiedad invariable de una instancia de flujo de entrada determinada. El método markSupported de InputStream devuelve false.

int read()

Lee el siguiente byte de datos del flujo de entrada. El byte de valor se devuelve como un valor int en el intervalo de 0 a 255. Si no hay ningún byte disponible porque se ha alcanzado el final de la secuencia, se devuelve el valor -1. Este método se bloquea hasta que los datos de entrada están disponibles, se detecta el final de la secuencia o se produce una excepción.

int read(final byte[] b)

Lee algún número de bytes del flujo de entrada y los almacena en la matriz de búfer . El número de bytes leídos realmente se devuelve como un entero. Este método se bloquea hasta que los datos de entrada están disponibles, se detecta el final del archivo o se produce una excepción. Si la longitud de es cero, no se lee ningún bytes y se devuelve 0; de lo contrario, hay un intento de leer al menos un byte. Si no hay ningún byte disponible porque la secuencia está al final del archivo, se devuelve el valor -1; de lo contrario, se lee y almacena al menos un byte en .

La primera lectura de bytes se almacena en el elemento , la siguiente en , etc. El número de bytes leídos es, como máximo, igual que la longitud de . Vamos a ser el número de bytes leídos realmente; estos bytes se almacenarán en elementos a través de , dejando los elementos sin verse afectados.

El método para la clase InputStream tiene el mismo efecto que:

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

Lee hasta bytes de datos del flujo de entrada en una matriz de bytes. Se intenta leer tantos bytes como bytes, pero se puede leer un número menor. El número de bytes leídos realmente se devuelve como un entero. Este método se bloquea hasta que los datos de entrada están disponibles, se detecta el final del archivo o se produce una excepción.

Si es cero, no se leen bytes y se devuelve 0; de lo contrario, hay un intento de leer al menos un byte. Si no hay ningún byte disponible porque la secuencia está al final del archivo, se devuelve el valor -1; de lo contrario, se lee y almacena al menos un byte en .

La primera lectura de bytes se almacena en el elemento , la siguiente en , etc. El número de bytes leídos es, como máximo, igual que . Vamos a ser el número de bytes leídos realmente; estos bytes se almacenarán en elementos a través de , dejando los elementos sin verse afectados.

En cada caso, los elementos a través de y a través de no se ven afectados.

El método para la clase InputStream simplemente llama al método repetidamente. Si la primera llamada de este tipo da como resultado una excepción , esa excepción se devuelve de la llamada al método . Si alguna llamada posterior a da como resultado un , la excepción se detecta y se trata como si fuera el final del archivo; los bytes leídos hasta ese punto se almacenan en y el número de bytes leídos antes de que se devuelva la excepción. La implementación predeterminada de este método se bloquea hasta que se haya leído la cantidad solicitada de datos de entrada, se detecte el final del archivo o se produzca una excepción. Se recomienda que las subclases proporcionen una implementación más eficaz de este método.

synchronized void reset()

Cambia la posición de esta secuencia a la posición en el momento en que se llamó por última vez al método mark en esta secuencia de entrada. Tenga en cuenta que cambiar la posición de la secuencia de lectura de archivos deshabilitará la comprobación md5 del archivo.

synchronized long skip(final long n)

Omite y descarta n bytes de datos de esta secuencia de entrada. El método skip puede, por diversos motivos, terminar omitiendo un número menor de bytes, posiblemente 0. Esto puede resultar de cualquiera de una serie de condiciones; alcanzar el final del archivo antes de que se omitan n bytes es solo una posibilidad. Se devuelve el número real de bytes omitidos. Si n es negativo, no se omite ningún bytes.

Tenga en cuenta que cambiar la posición de la secuencia de lectura de archivos deshabilitará la comprobación md5 del archivo.

Detalles del constructor

FileInputStream

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

Inicializa una nueva instancia de la clase FileInputStream.

Parameters:

parentFile - Objeto CloudFile que representa el archivo al que está asociada esta secuencia.
accessCondition - Objeto AccessCondition que representa las condiciones de acceso del archivo.
options - Objeto FileRequestOptions que representa que especifica las opciones adicionales de la solicitud.
opContext - Objeto OperationContext que se usa para realizar un seguimiento de la ejecución de la operación.

Throws:

StorageException - Excepción que representa cualquier error que se produjo durante la operación.

Detalles del método

available

public synchronized int available()

Devuelve una estimación del número de bytes que se pueden leer (o omitir) de esta secuencia de entrada sin bloquear la siguiente invocación de un método para esta secuencia de entrada. La siguiente invocación podría ser el mismo subproceso u otro subproceso. Una sola lectura o omisión de estos muchos bytes no se bloqueará, pero puede leer o omitir menos bytes.

Returns:

que int representa una estimación del número de bytes que se pueden leer (o omitir) de esta secuencia de entrada sin bloqueo, o 0 cuando llega al final del flujo de entrada.

Throws:

IOException - Si se produce un error de E/S.

close

public synchronized void close()

Cierra este flujo de entrada y libera los recursos del sistema asociados a la secuencia.

Throws:

IOException - Si se produce un error de E/S.

mark

public synchronized void mark(final int readlimit)

Marca la posición actual en este flujo de entrada. Una llamada posterior al método reset cambia la posición de esta secuencia en la última posición marcada para que las lecturas posteriores vuelvan a leer los mismos bytes.

Parameters:

readlimit - que int representa el límite máximo de bytes que se pueden leer antes de que la posición de marca no sea válida.

markSupported

public boolean markSupported()

Comprueba si esta secuencia de entrada admite los métodos mark y reset. Si se admiten o no marcas y restablecimientos es una propiedad invariable de una instancia de flujo de entrada determinada. El método markSupported de InputStream devuelve false.

Returns:

True si esta instancia de secuencia admite los métodos mark y reset; False Lo contrario.

read

public int read()

Lee el siguiente byte de datos del flujo de entrada. El byte de valor se devuelve como un valor int en el intervalo de 0 a 255. Si no hay ningún byte disponible porque se ha alcanzado el final de la secuencia, se devuelve el valor -1. Este método se bloquea hasta que los datos de entrada están disponibles, se detecta el final de la secuencia o se produce una excepción.

Returns:

que int representa el número total de bytes leídos en el búfer o -1 si no hay más datos porque se ha alcanzado el final de la secuencia.

Throws:

IOException - Si se produce un error de E/S.

read

public int read(final byte[] b)

Lee algún número de bytes del flujo de entrada y los almacena en la matriz de búfer . El número de bytes leídos realmente se devuelve como un entero. Este método se bloquea hasta que los datos de entrada están disponibles, se detecta el final del archivo o se produce una excepción. Si la longitud de es cero, no se lee ningún bytes y se devuelve 0; de lo contrario, hay un intento de leer al menos un byte. Si no hay ningún byte disponible porque la secuencia está al final del archivo, se devuelve el valor -1; de lo contrario, se lee y almacena al menos un byte en .

La primera lectura de bytes se almacena en el elemento , la siguiente en , etc. El número de bytes leídos es, como máximo, igual que la longitud de . Vamos a ser el número de bytes leídos realmente; estos bytes se almacenarán en elementos a través de , dejando los elementos sin verse afectados.

El método para la clase InputStream tiene el mismo efecto que:

Parameters:

b - Matriz byte que representa el búfer en el que se leen los datos.

Throws:

IOException - Si el primer byte no se puede leer por ningún motivo distinto del final del archivo, si se ha cerrado la secuencia de entrada o si se produce algún otro error de E/S.
NullPointerException - Si la byte matriz b es null.

read

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

Lee hasta bytes de datos del flujo de entrada en una matriz de bytes. Se intenta leer tantos bytes como bytes, pero se puede leer un número menor. El número de bytes leídos realmente se devuelve como un entero. Este método se bloquea hasta que los datos de entrada están disponibles, se detecta el final del archivo o se produce una excepción.

Si es cero, no se leen bytes y se devuelve 0; de lo contrario, hay un intento de leer al menos un byte. Si no hay ningún byte disponible porque la secuencia está al final del archivo, se devuelve el valor -1; de lo contrario, se lee y almacena al menos un byte en .

La primera lectura de bytes se almacena en el elemento , la siguiente en , etc. El número de bytes leídos es, como máximo, igual que . Vamos a ser el número de bytes leídos realmente; estos bytes se almacenarán en elementos a través de , dejando los elementos sin verse afectados.

En cada caso, los elementos a través de y a través de no se ven afectados.

El método para la clase InputStream simplemente llama al método repetidamente. Si la primera llamada de este tipo da como resultado una excepción , esa excepción se devuelve de la llamada al método . Si alguna llamada posterior a da como resultado un , la excepción se detecta y se trata como si fuera el final del archivo; los bytes leídos hasta ese punto se almacenan en y el número de bytes leídos antes de que se devuelva la excepción. La implementación predeterminada de este método se bloquea hasta que se haya leído la cantidad solicitada de datos de entrada, se detecte el final del archivo o se produzca una excepción. Se recomienda que las subclases proporcionen una implementación más eficaz de este método.

Parameters:

b - Matriz byte que representa el búfer en el que se leen los datos.
off - que int representa el desplazamiento inicial de la matriz en la byte que se escriben los datos.
len - que int representa el número máximo de bytes que se van a leer.

Returns:

que int representa el número total de bytes leídos en el búfer o -1 si no hay más datos porque se ha alcanzado el final de la secuencia.

Throws:

IOException - Si el primer byte no se puede leer por ningún motivo distinto del final del archivo, o si se ha cerrado la secuencia de entrada, o si se produce algún otro error de E/S.
NullPointerException - Si la byte matriz b es null.
IndexOutOfBoundsException - Si off es negativo, len es negativo o len es mayor que b.length - off.

reset

public synchronized void reset()

Cambia la posición de esta secuencia a la posición en el momento en que se llamó por última vez al método mark en esta secuencia de entrada. Tenga en cuenta que cambiar la posición de la secuencia de lectura de archivos deshabilitará la comprobación md5 del archivo.

Throws:

IOException - Si esta secuencia no se ha marcado o si la marca se ha invalidado.

skip

public synchronized long skip(final long n)

Omite y descarta n bytes de datos de esta secuencia de entrada. El método skip puede, por diversos motivos, terminar omitiendo un número menor de bytes, posiblemente 0. Esto puede resultar de cualquiera de una serie de condiciones; alcanzar el final del archivo antes de que se omitan n bytes es solo una posibilidad. Se devuelve el número real de bytes omitidos. Si n es negativo, no se omite ningún bytes.

Tenga en cuenta que cambiar la posición de la secuencia de lectura de archivos deshabilitará la comprobación md5 del archivo.

Parameters:

n - que long representa el número de bytes que se van a omitir.

Se aplica a