Como estamos bien versados en este tema, pongamos más énfasis para descubrir las diferencias mínimas entre ellos. Aquí se supone que debemos leer de un archivo en el directorio local donde está presente un archivo de texto, por ejemplo, ‘gfg.txt’. Deje que el contenido dentro del archivo sea como se muestra a continuación:
Geeks for Geeks. A computer science portal. Welcome to this portal. Hello Geek !!!
Nota: asegúrese de que, antes de hacer cualquier cosa, primero cree un archivo en el repositorio del sistema para tratar con nuestro programa \ escribir un programa, ya que accederemos al mismo directorio a través de nuestros programas.
Métodos:
- Usando la clase de escáner
- Usando la clase BufferedReader
Método 1: Usando la clase Scanner
Scanner es una clase en el paquete java.util que se utiliza para obtener la entrada de los tipos primitivos como int, double, etc. y strings. Es la forma más fácil de leer la entrada en un programa Java, aunque no es muy eficiente si desea un método de entrada para escenarios donde el tiempo es una restricción como en la programación competitiva. La clase de escáner se utiliza para leer el archivo grande línea por línea. Un escáner divide su entrada en tokens, que por defecto coincide con el espacio en blanco.
Ejemplo
Java
// Java Program to Read a Large Text File Line by Line // Using Scanner class // Importing required classes import java.io.*; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.Scanner; // Main class public class GFG { // Main driver method public static void main(String[] args) throws FileNotFoundException { // Declaring and initializing the string with // custom path of a file String path = "C:\\Users\\HP\\Desktop\\gfg.txt"; // Creating an instance of Inputstream InputStream is = new FileInputStream(path); // Try block to check for exceptions try (Scanner sc = new Scanner( is, StandardCharsets.UTF_8.name())) { // It holds true till there is single element // left in the object with usage of hasNext() // method while (sc.hasNextLine()) { // Printing the content of file System.out.println(sc.nextLine()); } } } }
Producción:
Geeks for Geeks. A computer science portal. Welcome to this portal. Hello Geek !!!
Método 2: usar la clase BufferedReader
BufferedReader se utiliza para leer el archivo línea por línea. Básicamente , BufferedReader() se usa para el procesamiento de archivos grandes. BufferedReader es muy eficiente para leer.
Nota: Especifique el tamaño de BufferReader o mantenga ese tamaño como tamaño predeterminado de BufferReader. El tamaño predeterminado de BufferReader es de 8 KB.
Sintaxis:
BufferedReader in = new BufferedReader(Reader in, int size);
Ejemplo:
Java
// Java Program to Read a Large Text File Line by Line // Using BufferedReader class // Importing required classes import java.io.*; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; // Main class public class GFG { // Main driver method public static void main(String[] args) { // Declaring a string and initializing it with // path of file present on the system String path = "C:\\Users\\HP\\Desktop\\gfg.txt"; // Try block to check for exceptions try (BufferedReader br = new BufferedReader(new FileReader(path))) { // Declaring a new string String str; // It holds true till threre is content in file while ((str = br.readLine()) != null) { // Printing the file data System.out.println(br); } } // Catch block to handle the exceptions catch (IOException e) { // Display pop up message if exceptionn occurs System.out.println( "Error while reading a file."); } } }
Producción:
Geeks for Geeks. A computer science portal. Welcome to this portal. Hello Geek !!!
Publicación traducida automáticamente
Artículo escrito por manastole01 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA