Java:InputStream.read()
De W3API
Contenido |
[editar] Descripción
Método que realiza la lectura de los siguientes bytes de un InputStream. Si pasamos como parámetro un buffer, la lectura dejará el resultado sobre dicho buffer. Además, el método .read() nos permitirá indicar la cantidad de bytes a leer.
Si no indicamos la cantidad de bytes a leer y solo pasamos el buffer, la lectura leerá el número de bytes correspondiente con el tamaño del fichero.
Cuando la lectura no pueda leer bytes, ya que haya llegado al fin del stream el valor devuelto por .read() será -1.
[editar] Sintaxis
int read() int read(byte[] b) int read(byte[] b, int off, int len)
[editar] Parametros
- b, buffer sobre el que dejaremos los bytes resultado de la lectura.
- off, indica la posición del buffer en la cual se almacenarán los bytes leídos.
- len, número de bytes a leer.
[editar] Excepciones
IOException y NullPointerException
[editar] Clases Java a las que aplica
[editar] Ejemplo
// Copiar ficheros
File origen = new File("origen.txt");
File destino = new File("destino.txt");
try {
InputStream in = new FileInputStream(origen);
OutputStream out = new FileOutputStream(destino);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
out.close();
} catch (IOException ioe){
ioe.printStackTrace();
}