Scanner vs BufferedReader – DEV Community




Comparación de Características

Característica Scanner BufferedReader
Facilidad de uso Más simple y directo para leer distintos tipos de datos (nextInt(), nextLine(), etc.) Solo lee texto como String, se necesita Integer.parseInt() para números.
Velocidad Más lento Más rápido, especialmente con muchos datos.
Parsers incluidos Sí, métodos como nextInt(), nextDouble(), etc. No, debes convertir manualmente (Integer.parseInt()).
Lectura de líneas Con nextLine() Con readLine()
Uso con consola Ideal para programas interactivos Menos cómodo, requiere más código.
Sincronización No sincronizado Sincronizado (thread-safe).



Ejemplo Comparativo



Con Scanner

import java.util.Scanner;

public class ScannerExample {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter your name: ");
        String name = sc.nextLine();
        System.out.print("Enter your age: ");
        int age = sc.nextInt();
        System.out.println("Hello " + name + ", age " + age);
    }
}
Enter fullscreen mode

Exit fullscreen mode




Con BufferedReader

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class BufferedReaderExample {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Enter your name: ");
        String name = br.readLine();
        System.out.print("Enter your age: ");
        int age = Integer.parseInt(br.readLine());
        System.out.println("Hello " + name + ", age " + age);
    }
}
Enter fullscreen mode

Exit fullscreen mode




¿Cuál deberías usar?

Usa Scanner si:

  • Estás haciendo prácticas de algoritmos en consola.
  • En programas donde la facilidad de lectura es más importante que la velocidad.

Usa BufferedReader si:

  • Necesitas máximo rendimiento (por ejemplo, al leer grandes cantidades de datos).
  • Estás haciendo parsing de archivos grandes o input de alta velocidad en línea.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *