Entrada y salida por consola

Java  permite  realizar  operaciones  de entrada  / salida  de consola  a través  de tres variables publicas y estáticas de la clase java.lang.System.

  • System.out;  es  una  objeto  de  tipo  PrintStream.  Es  la  salida  estándar  por consola
  • System.in; es un objeto de tipo InputStream. Es la entrada estándar.
  • System.err; es  un  objeto  de  tipo  PrintStream.  Es  la  salida  estándar  para mostrar errores.

Para realizar impresiones por consola utilizamos los métodos:

  • print(); Imprime un argumento.
  • println(); Imprime un argumento y añade un carácter de salto de línea («\n»).
  • printf(); Imprime con formato. Los diferentes formatos a utilizar los mostramos en la siguiente tabla.

 

Código Descripción
%s Formatea   el  argumento   como   String.   Normalmente   se invoca al método toString().
%d %o %x Formatea  un  entero  como  decimal,  octal  o  hexadecimal respectivamente.
%f %g Formatea   en  coma   flotante.   %g  formato   con  notación científica
%n Provoca un salto de línea.
%% Lo utilizamos para añadir el carácter %

Ejemplo: Imprimimos los datos de un alumno, cada código de formato se sustituye por el valor devuelto por los métodos get respectivamente.

%.1f estamos expresando que queremos mostrar la nota media con un solo decimal. El siguiente ejemplo nos permite leer datos por consola.

La Clase Scanner

En el primer tema ya hemos hablado de la clase Scanner y que nos simplifica enormemente tareas de entrada o lectura de datos.  Como su nombre indica, actúa como un lector exclusivamente, no puede realizar operaciones de escritura. 

Podemos leer con un objeto de la clase Scanner desde diversas fuentes y el origen de los datos se especifica a través del parámetro del constructor de la clase de Scanner. 

 

Con un objeto de la clase Scanner podemos leer: 

  • Desde un String. String texto = «Este es el texto que será leído por un objeto Scanner»; Scanner lector = new Scanner(texto); El origen de la lectura es un String. 
  • Desde el teclado. Scanner lector = new Scanner(System.in); El origen de la lectura es el teclado. 
  • Desde un fichero de texto. Scanner lector = new Scanner(New File(«peliculas.txt»)); El origen de la lectura es un archivo. 

Scanner fragmenta los datos a leer y los va recuperando por medio de los métodos next(), nextLine(), nextInt(), nextFloat(), etc. En los siguientes apartados irás descubriendo aplicaciones prácticas del uso de la clase Scanner. 

Ejemplos:

Leer un String palabra a palabra:

Leer un String línea a línea:

Leer un String según separador personalizado:

Lectura de ficheros de texto :