I/O Principiante

Copia un InputStream a un OutputStream en una sola llamada.

✕ Java 8
byte[] buf = new byte[8192];
int n;
while ((n = input.read(buf)) != -1) {
    output.write(buf, 0, n);
}
✓ Java 9+
input.transferTo(output);
¿Ves un problema con este código? Cuéntanos.
📏

Una línea

Reemplaza todo el bucle de lectura/escritura con una sola llamada.

Optimizado

El tamaño del buffer interno está ajustado para máximo rendimiento.

🛡️

Sin errores

Sin errores de desplazamiento en la gestión del buffer.

Enfoque Antiguo
Bucle de copia manual
Enfoque Moderno
transferTo()
Desde JDK
9
Dificultad
Principiante
InputStream.transferTo()
Disponible

Ampliamente disponible desde JDK 9 (septiembre de 2017)

transferTo() lee todos los bytes del flujo de entrada y los escribe en el flujo de salida. Sin gestión de buffer, sin bucle. Usa un buffer interno optimizado.

Compartir 𝕏 🦋 in