Saltar la navegación

5.2.1.- Ficheros binarios y ficheros de texto (II).

Pantalla negra con caracteres en hexadecimal.
Paulnasca (Dominio público)

Los ficheros binarios almacenan la información en bytes, codificada en binario, pudiendo ser de cualquier tipo: fotografías, números, letras, archivos ejecutables, etc.

Los archivos binarios guardan una representación de los datos en el fichero. O sea que, cuando se guarda texto no se guarda el texto en sí, sino que se guarda su representación en código UTF-8.

Para leer datos de un fichero binario, Java proporciona la clase FileInputStream. Dicha clase trabaja con bytes que se leen desde el flujo asociado a un fichero. Aquí puedes ver un ejemplo comentado.

Leer de fichero binario con buffer. (3.00 KB)

Para escribir datos a un fichero binario, la clase nos permite usar un fichero para escritura de bytes en él, es la clase FileOutputStream. La filosofía es la misma que para la lectura de datos, pero ahora el flujo es en dirección contraria, desde la aplicación que hace de fuente de datos hasta el fichero, que los consume.

En la siguiente presentación puedes ver un esquema de cómo utilizar buffer para optimizar la lectura de teclado desde consola, por medio de las envolturas, podemos usar métodos como readline(), de la clase BufferedReader, que envuelve a un objeto de la clase InputStreamReader.

Envolturas o Wrappers

Ilustración que muestra el uso de envolturas en java.

Envolturas o Wrappers

Ilustración que muestra el uso de envolturas de forma gráfica

Envolturas o Wrappers

Todas las imágenes son propiedades del Ministerio de Educación y FP bajo licencia CC BY-NC.

Es un formato de codificación de caracteres Unicode usando símbolos de longitud variable.

Autoevaluación

Señala si es verdadera o falsa la siguiente afirmación:

Pregunta 1

Para leer datos desde un fichero codificados en binario empleamos la clase FileOutputStream. ¿Verdadero o falso?