Imprimir contenido de archivo de texto a pantalla en Java

Muhammad Zeeshan 12 octubre 2023
  1. Clase Escáner en Java
  2. Clase BufferedReader en Java
  3. Clase FileReader en Java
Imprimir contenido de archivo de texto a pantalla en Java

Este artículo muestra formas de usar Java para imprimir el contenido de un archivo de texto en la pantalla. En Java, hay varias formas de leer un archivo de texto.

Es necesario cuando se trabaja con una gran cantidad de aplicaciones. Puede leer un archivo de texto sin formato en Java utilizando FileReader, BufferedReader o Scanner.

Cada utilidad, por ejemplo, tiene algo especial que ofrecer. Con BufferedReader, los datos se almacenan en búfer para una lectura rápida, mientras que el análisis se realiza con Scanner.

Clase Escáner en Java

El Escáner analiza tipos primitivos y cadenas utilizando expresiones regulares. Un Escáner divide su entrada en tokens utilizando un patrón delimitador que coincide con los espacios en blanco de forma predeterminada.

Los tokens creados se pueden traducir a otros valores utilizando los procedimientos mencionados a continuación. La clase Escáner se demuestra en el siguiente ejemplo.

Para usar la clase Escáner, hemos importado bibliotecas.

import java.io.File;
import java.util.Scanner;
import java.io.File;
import java.util.Scanner;
public class Main {
  public static void main(String[] args) throws Exception {
    File testfile = new File("C:\\Users\\shanii\\Desktop\\read.txt");
    Scanner scnr = new Scanner(testfile);

    while (scnr.hasNextLine()) System.out.println(scnr.nextLine());
  }
}

Clase BufferedReader en Java

Este enfoque emplea una secuencia de caracteres para leer el texto. Almacena caracteres, matrices y líneas para una lectura más rápida.

El tamaño del búfer se puede cambiar o configurar para que se utilice de forma predeterminada. En su mayor parte, la configuración predeterminada es básica.

Cada solicitud de lectura a un Lector suele ir seguida de una solicitud de lectura al carácter subyacente o al flujo de bytes. Como resultado, como se muestra a continuación, es una buena idea envolver un BufferedReader a través de cualquier Reader cuyas operaciones read() probablemente sean costosas, como FileReaders y InputStreamReaders.

BufferedReader br = new BufferedReader(Reader br, int size);

Veamos BufferedReader como ejemplo para ayudarnos a entender.

  1. Para comenzar, debe importar la biblioteca java.io*.
  2. En el siguiente ejemplo, read.txt será el archivo que desea leer.
import java.io.*;

public class Shani {
  public static void main(String[] args) throws Exception {
    File testfile = new File("C:\\Users\\shanii\\Desktop\\read.txt");
    BufferedReader br = new BufferedReader(new FileReader(testfile));
    String z;
    while ((z = br.readLine()) != null) System.out.println(z);
  }
}

Clase FileReader en Java

Esta clase facilita la lectura de archivos de caracteres. Los constructores de esta clase suponen que la codificación de caracteres predeterminada y el tamaño del búfer de bytes son adecuados.

Los siguientes son los constructores especificados en esta clase.

  1. FileReader (archivo File): crea un nuevo FileReader a partir del File especificado.
  2. FileReader (FileDescriptor fdt) - Dado el FileDescriptor para leer, crea un nuevo FileReader.
  3. FileReader (String fileName): crea un nuevo FileReader con el nombre de archivo especificado.

Veamos FileReader como ejemplo para ayudarnos a entender.

import java.io.*;

public class Shani {
  // Main driver method
  public static void main(String[] args) throws Exception {
    FileReader frdr = new FileReader("C:\\Users\\shanii\\Desktop\\read.txt");
    int z;
    while ((z = frdr.read()) != -1) System.out.print((char) z);
  }
}
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

Artículo relacionado - Java Print