Curso de Java. Entrada y salida con ficheros: Introducción

Escrito por Adrián Crespo
Java
0

En esta entrega de el curso de Java de RedesZone.net, vamos a empezar un nuevo apartado dentro de lo que se refiere a la programación en lenguaje Java. Anteriormente, hemos podido disfrutar de todo lo relacionado a las interfaces gráficas o GUIs. También hemos tratado lo más básico en lo que la programación se refiere, los tipos de variables, bucles, instrucciones de control y la utilización de listas.

Hoy comenzaremos con la introducción a las operaciones de entrada y salida de ficheros, otro tema que seguro, va a ser de vuestro interés y vais a saber sacar un buen provecho.

Comenzaremos con las nociones básicas de entrada y salida para así, en las entregas posteriores comenzar con la programación y los ejemplos prácticos.

¿Qué es un fichero?

  • Secuencia de bytes en un dispositivo de almacenamiento: disco duro, CD, DVD, memoria USB, …
  • Se puede leer y/o escribir
  • Se identifica mediante un nombre (pathname)

¿Qué tipos de ficheros hay?

  • Programas: contienen instrucciones
  • Datos: contienen información, como números (enteros o reales), secuencias de caracteres, …
  • En algunos sistemas operativos (como Linux) también son ficheros los directorios, los dispositivos, las tuberías, …

Los ficheros de texto y binarios

Tipos de ficheros de datos:

  • De bytes (binarios): pensados para ser leídos por un programa
  • De caracteres (de texto): están pensados para ser leídos y/o creados por una persona

¿Cómo se puede leer y escribir en un fichero?

  • Se utilizan los punteros de lectura y escritura
  • Indican el próximo byte a leer o a escribir
  • Gestionados automáticamente por el sistema operativo
  • Comienzan apuntando al primer byte del fichero
  • Van avanzando por el fichero según se van leyendo sus contenidos

¿Cómo se realiza la entrada y salida en Java?

La Entrada/Salida de Java se organiza generalmente mediante objetos llamados Streams (muy importante este término)

Un Stream es la generalización de un fichero:

  • Secuencia ordenada de datos con un determinado origen y destino
  • Su origen o destino puede ser un fichero, pero también un string o un dispositivo (p.e. el teclado)

Para poder usar un stream primero hay que abrirle

  • Se abre en el momento de su creación
  • Y hay que cerrarle cuando se deja de utilizar

Las clases relacionadas con streams se encuentran definidas en el paquete java.io (io es la abreviatura de Input/Output) que será el que necesitaremos para poder realizar todas las operaciones necesarias.

¿Qué tipos de Stream existen y como pueden clasificarse?

Por el tipo de datos que “transportan”:

  • Binarios (de bytes)
  • De caracteres (de texto)

Por el sentido del flujo de datos:

  • De entrada: los datos fluyen desde el dispositivo o fichero hacia el programa.
  • De salida: los datos fluyen desde el programa al dispositivo.

Según su cercanía al dispositivo:

  • Iniciadores: son los que directamente vuelcan o recogen los datos del dispositivo
  • Filtros: se sitúan entre un stream iniciador y el programa

Hasta aquí esta primera entrega de entrada y salida de ficheros. En la próxima entrega nos meteremos de lleno con los Streams, y veremos como pueden utilizarse en la lectura y escritura de ficheros.