Se visualiza un vídeo donde se describe el paquete java.io. Se muestra un diagrama donde se ve el sistema operativo en un rectángulo, en el centro, y hacia arriba sale una línea que lleva hacia la Máquina Virtual Java. Hacia la izquierda sale hasta Comunicación por sockets. Hacia abajo sale una línea hasta Disco duro. Y hacia la derecha sale una línea que lleva a comunicación COM y LPT.

Se explica que la entrada-salida en Java se refiere a las interacciones de la máquina virtual de java tiene con elementos exteriores a dicha máquina virtual: discos duros, puertos COM-LPT, etc. Todos esos elementos interactúan con la máquina virtual estableciendo flujos de comunicaciones. Esos flujos se establecen con las clases del paquete java.io.

Posteriormente se indica la existencia de clase BufferedReader, del método readline(), para leer líneas de texto desde un fichero. Se explica la posibilidad de montar un flujo sobre otro. Un objeto FileReader, por ejemplo, se pasa como parámetro a un BufferedReader Es lo que se denomina encapsulamiento de objetos. También el teclado es un dispositivo con el que se pueden establecer flujos. Así por ejemplo se puede ver como a un objeto InputStreamReader se le puede pasar la entrada estándar como parámetro, La idea es crear una forma sencilla de manipular el teclado.