¿Quieres estar al tanto de las novedades de HostGator? ¡Suscríbete y recíbelas de primera mano!

La confirmación de tu inscripción ha sido enviada a tu correo electrónico

¡Gracias por suscribirte, esperamos que disfrutes nuestros contenidos!

Destacado en la categoría:

Compartir:

Descubre qué es, para qué sirve y cómo usar el Scanner en Java para leer datos provenientes del terminal o de archivos.

El Scanner en Java es una clase utilizada para facilitar la lectura de los datos proporcionados por el usuario, como nombre o edad. Este sistema simplifica la entrada de información en el modo consola, siendo capaz de analizar letras, números y signos. 

En caso de que no lo sepas, Java es un lenguaje de programación ampliamente utilizado en el desarrollo web, en la creación de aplicaciones y en sistemas empresariales, debido a su robustez y estabilidad. Una clase en Java es un modelo empleado para definir un tipo de objeto, sus atributos y las acciones que puede realizar.

En esta publicación vamos a explicar qué es Scanner en Java, presentar sus principales métodos y también mostrar ejemplos prácticos de cómo utilizarla.

¿Qué es la clase Scanner en Java? 

La clase Scanner en Java es un modelo utilizado para analizar información proveniente de diferentes fuentes, como la consola y archivos. Además, con ella, es posible trabajar con tipos primitivos de una manera más práctica y optimizada.

En Java, los tipos primitivos representan valores simples y no son objetos. Algunos de los principales son:

  • int (entero).
  • doble (decimal).
  • boolean (verdadero o falso).
  • char (carácter).

Definição e propósito 

Este sistema se utiliza para leer e interpretar datos de la fuente especificada por el usuario. Es capaz de reconocer y procesar diferentes tipos de datos, originarios de fuentes distintas, separando la entrada de textos en bloques.

La clase Scanner en Java fue desarrollada después del lanzamiento de Java 5 con el propósito de facilitar la creación de softwares que dependen de la recepción de valores de variables a través de la consola. 

Pacote de origem e introdução na linguagem 

La instancia Scanner en Java pertenece al java.util, un paquete de biblioteca estándar de Java que contiene diferentes tipos de clases e interfaces. 

Esta configuración es ideal para los sistemas que utilizan el lenguaje de programación Java, ya que es orientado a objetos. Esto significa que estructura el código en clases y objetos, lo que facilita la organización y la reutilización de los códigos utilizados.

Principales métodos de la clase Scanner 

Los métodos de la instancia scanner son comandos que puedes utilizar para leer y realizar evaluaciones simples de archivos y entradas del teclado de manera rápida y práctica. Consulta a continuación cuáles son los principales y descubre también cuáles son las funcionalidades de cada uno de ellos.

MétodoFuncionalidad
close()Cierra la lectura del Scanner y libera los recursos asociados a la lectura
findInLine()Busca la siguiente ocurrencia de un patrón en la línea actual, ignorando los delimitadores
next()Lee la siguiente palabra hasta un espacio
nextLine()Lee toda la línea hasta el salto de línea (ENTER)
nextInt()Lee un número entero (int)
nextDouble()Lee un número con decimales (double)
nextBoolean()Lee true o false
nextFloat()Lee un número decimal (float)
nextLong()Lee un número entero utilizando valores mayores que el tipo int
hasNext()Verifica si hay más datos por leer
hasNextInt()Verifica si el siguiente valor es un int
match()Devuelve el resultado de la búsqueda del último objeto Scanner
radix()Devuelve la base numérica utilizada para analizar números
skip()Ignora la entrada hasta que se encuentre el patrón especificado

Diferenças entre next() e nextLine() 

La diferencia entre estos dos comandos es muy simple. Debes usar el next() siempre que necesites leer solo la próxima palabra. Ya el nextLine() lee toda la línea hasta encontrar el ENTER.

Por eso, es importante saber que cuando usas los comandos nextInt() o next() el ENTER queda en la cola de entrada y puede impactar la acción del método nextLine(), en caso de que se utilice a continuación. 

Para evitar que esto ocurra, simplemente añade una capa extra al comando, que tendrá la siguiente sintaxis: scanner.nextLine(). Al hacer esto, la herramienta será capaz de capturar todos los datos necesarios. 

Utilizando la clase Scanner en la práctica 

Ahora que ya conoces los principales métodos de la instancia Scanner, descubre cómo esta herramienta puede capturar datos de diferentes fuentes. 

Leitura de dados do teclado 

Una de las formas más comunes de usar esta herramienta es capturando datos que se ingresan en la consola. En este caso, el usuario escribe la información en el terminal y el programa lee y usa estos materiales para ejecutar una acción

Para capturar estos datos, es necesario conectar el Escáner al terminal, utilizando la solicitud System.in, y usar el método adecuado para leer el tipo de información que se está introduciendo. Una vez que este material es leído por el programa, puede ser utilizado en otras acciones, como comparar y sumar, por ejemplo. 

Leitura de arquivos e outras fontes 

Además de ser capaz de extraer los datos del terminal, el Scanner también puede leer información de otras fuentes, como archivos de diferentes formatos, cadenas y flujos de datos

Para poder leer la información contenida en un archivo es necesario seguir los siguientes pasos:

  • Crear un objeto que representa el archivo en el sistema (ejemplo: File archivo = new File("datos.txt");
  • A continuación, es necesario ejecutar el método siguiente: Scanner scanner = new Scanner (archivo);
  • Para verificar si aún quedan líneas, escriba el comando: scanner.hasNextLine();
  • En caso de que el documento contenga más datos, ejecute el método: scanner.nextLine() para que la herramienta lea la totalidad de la próxima línea.

Si el archivo que deseas leer no está en la misma carpeta que el Scanner en Java, será necesario proporcionar la ruta completa hasta el documento para que el programa pueda acceder a él y extraer la información.

Tratamiento de excepciones con Scanner 

En la clase Scanner en Java, las excepciones son errores que pueden ocurrir durante la ejecución del programa. Si todavía eres un principiante en el uso de esta herramienta, conoce ahora las excepciones más comunes del Scanner:

  • FileNotFoundException – ocurre cuando el usuario intenta abrir un archivo que no existe.
  • InputMismatchException – ocurre cuando una persona teclea una letra en el lugar donde el programa espera un número.
  • NoSuchElementException – esta excepción ocurre cuando el programa intenta leer un valor que ya no está disponible.

Lidando com InputMismatchException e demais exceções

Es posible resolver estas excepciones utilizando un bloque try-catch y algunos comandos. El bloque try es el espacio en el que vas a ejecutar una acción que puede fallar. El catch captura el error y evita que el programa se rompa. 

Vea a continuación cuál es el comando indicado para manejar cada tipo de excepción:

  • FileNotFoundException - catch (FileNotFoundException e).

    Nota: Este é um código de programação e não precisa ser traduzido, pois os códigos de programação são universais.
  • InputMismatchException - catch (InputMismatchException e).

    Nota: Este é um código de programação, que não deve ser traduzido, pois alteraria sua funcionalidade.
  • NoSuchElementException - catch (NoSuchElementException e).

Boas práticas para validação de entrada 

Conozca ahora algunos consejos de buenas prácticas para tener más oportunidades de tener éxito en el manejo de las excepciones:

  • Siempre use el bloque try-catch para leer archivos o datos del teclado.
  • Evita que el programa se rompa usando mensajes como: Exception en el hilo "main".
  • Proporcione mensajes amigables al usuario. 

Tutorial: cómo utilizar la clase Scanner en Java 

Después de descubrir qué es y para qué sirve la instancia Scanner en Java, ha llegado el momento de aprender a usar este programa en la práctica. Para ello, revisa el tutorial que hemos preparado a continuación. 

Passo 1 – Importar a classe Scanner 

El primer paso para usar esta herramienta es importar la clase Scanner a tu programa Java. Para hacerlo, simplemente usa el siguiente comando:

Java 

import java.util.Scanner;

Passo 2 – Criar uma instância da classe Scanner 

A continuación, será necesario crear una instancia Scanner, esta acción permite que el programa lea los datos ingresados a través del teclado. La solicitud que deberás usar en esta etapa es la siguiente: 

Java 

Scanner scanner = new Scanner(System.in);

 Passo 3 – Ler diferentes tipos de dados 

Ahora, necesitarás seleccionar los métodos Scanner compatibles con los tipos de datos que deseas leer, como en el siguiente ejemplo:

Java 

System.out.print("Digite seu nome: ");
String nome = scanner.nextLine();

System.out.print("Digite sua idade: ");
int idade = scanner.nextInt();

System.out.print("Digite seu salário: ");
double salario = scanner.nextDouble();

Passo 4 – Fechar o Scanner 

Después de terminar la lectura, no olvides cerrar el Scanner para liberar espacio en el sistema.

Java 

scanner.close();

Conclusión 

La clase Scanner en Java es la herramienta ideal para aquellos que necesitan leer datos provenientes de diferentes fuentes, como archivos .txt y entradas del teclado. Además de ser fácil de usar, cuenta con varios métodos que optimizan su uso y reducen el tiempo de ejecución.

Recomendações para aprofundar o aprendizado 

Si quieres dominar esta herramienta, intenta usarla siempre que sea posible para practicar tus métodos y formas de resolver excepciones eventuales. Si es posible, crea archivos ficticios en diferentes formatos para leer en el Scanner, ya que esto ayudará mucho en tu proceso de aprendizaje. 

Para profundizar aún más tus conocimientos en Java y también en otros lenguajes de programación, consulta otros artículos sobre este tema en el blog de HostGator:

Navega por asuntos

  • ¿Qué es la clase Scanner en Java? 

    • Definição e propósito 

    • Pacote de origem e introdução na linguagem 

  • Principales métodos de la clase Scanner 

    • Diferenças entre next() e nextLine() 

  • Utilizando la clase Scanner en la práctica 

    • Leitura de dados do teclado 

    • Leitura de arquivos e outras fontes 

  • Tratamiento de excepciones con Scanner 

    • Lidando com InputMismatchException e demais exceções

    • Boas práticas para validação de entrada 

  • Tutorial: cómo utilizar la clase Scanner en Java 

    • Passo 1 – Importar a classe Scanner 

    • Passo 2 – Criar uma instância da classe Scanner 

    •  Passo 3 – Ler diferentes tipos de dados 

    • Passo 4 – Fechar o Scanner 

  • Conclusión 

    • Recomendações para aprofundar o aprendizado 

Tags:

    Julio Pires

    Analista de Contenido Técnico en la empresa HostGator y estudiante de Física en la UFSC. Le gusta ver series, jugar juegos clásicos, nunca rechaza una partida de ajedrez y busca estar siempre actualizado en el mundo de la tecnología.

    Más artículos del autor

    Crea tu presencia en línea

    Encuentra el nombre perfecto para tu web:

    www.