Inhalt der Textdatei auf dem Bildschirm in Java drucken

Muhammad Zeeshan 12 Oktober 2023
  1. Scanner-Klasse in Java
  2. BufferedReader-Klasse in Java
  3. FileReader-Klasse in Java
Inhalt der Textdatei auf dem Bildschirm in Java drucken

Dieser Artikel zeigt Möglichkeiten, Java zu verwenden, um den Inhalt einer Textdatei auf dem Bildschirm zu drucken. In Java gibt es mehrere Möglichkeiten, eine Textdatei zu lesen.

Dies ist erforderlich, wenn mit einer großen Anzahl von Anwendungen gearbeitet wird. Sie können eine reine Textdatei in Java mit FileReader, BufferedReader oder Scanner lesen.

Jeder Versorger hat zum Beispiel etwas Besonderes zu bieten. Mit BufferedReader werden Daten zum schnellen Lesen gepuffert, während mit Scanner geparst wird.

Scanner-Klasse in Java

Der Scanner parst primitive Typen und Strings mit regulären Ausdrücken. Ein Scanner unterteilt seine Eingabe in Tokens mit einem Trennzeichenmuster, das standardmäßig mit Leerzeichen übereinstimmt.

Die erstellten Token können dann mit den unten genannten Verfahren in andere Werte übersetzt werden. Die Klasse Scanner wird im folgenden Beispiel demonstriert.

Um die Klasse Scanner zu verwenden, haben wir Bibliotheken importiert.

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());
  }
}

BufferedReader-Klasse in Java

Dieser Ansatz verwendet einen Strom von Zeichen, um Text zu lesen. Es puffert Zeichen, Arrays und Zeilen zum schnelleren Lesen.

Die Puffergröße kann geändert werden oder wird standardmäßig verwendet. Die Standardeinstellungen sind größtenteils grundlegend.

Jeder Leseanfrage an einen Reader folgt normalerweise eine Leseanfrage an den zugrunde liegenden Zeichen- oder Bytestrom. Daher ist es, wie unten gezeigt, eine gute Idee, einen BufferedReader durch jeden Reader zu wickeln, dessen read()-Operationen wahrscheinlich kostspielig sind, wie z. B. FileReaders und InputStreamReaders.

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

Schauen wir uns zum besseren Verständnis BufferedReader als Beispiel an.

  1. Zunächst müssen Sie die Bibliothek java.io* importieren.
  2. Im folgenden Beispiel ist read.txt die Datei, die Sie lesen möchten.
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);
  }
}

FileReader-Klasse in Java

Diese Klasse erleichtert das Lesen von Zeichendateien. Die Konstruktoren dieser Klasse gehen davon aus, dass die standardmäßige Zeichencodierung und Bytepuffergröße angemessen sind.

Im Folgenden sind die in dieser Klasse angegebenen Konstruktoren aufgeführt.

  1. FileReader (Datei-Datei) - erstellt einen neuen FileReader aus der angegebenen Datei.
  2. FileReader (FileDescriptor fdt) – Erstellt anhand des FileDescriptor, aus dem gelesen werden soll, einen neuen FileReader.
  3. FileReader (String fileName) - erstellt einen neuen FileReader mit dem angegebenen Dateinamen.

Schauen wir uns zum besseren Verständnis FileReader als Beispiel an.

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

Verwandter Artikel - Java Print