English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grund教程

Java Flow Control

Java Arrays

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

Java Ausnahmebehandlung

Java List

Java Queue (Queue)

Java Map Collections

Java Set Collections

Java Input/Output (I/O)/O)

Java Reader/Writer

Java other topics

Java FileReader Klasse

In this tutorial, we will learn about Java FileReader and its methods with the help of examples.

The FileReader class in the java.io package can be used to read data from a file (in characters).

It inherits the InputSreamReader class.

Before learning FileReader, make sure you understandJava-Datei.

Create a FileReader

To create a file reader, we must first import the java.io.FileReader package. After importing the package, here is the method to create a file reader.

1.Using the filename

FileReader input = new FileReader(String name);

Here, we create a file reader that will be linked to the specified filename.

2.Using the file object

FileReader input = new FileReader(File fileObj);

Here, we create a file reader that will be linked to the file specified by the file object.

In the above example, the data in the file is stored using some default character encoding.

However, since Java 11We can also specify the type of character encoding in the file (UTF-8OrUTF-16)

FileReader input = new FileReader(String file, Charset cs);

Here, we use the Charset class to specify the character encoding of the file reader.

FileReader methods

The FileReader class provides implementations of different methods that exist in the Reader class.

The read() method

  • read() - Read a single character from the reader

  • read(char[] array) - From the reader, read characters and store them in the specified array

  • read(char[] array, int start, int length) - Lese von dem Leser so viele Zeichen wie die Länge und speichere sie ab Position start im angegebenen Array ab

Zum Beispiel,angenommen, wir haben eine Datei mit dem Nameninput.txtDatei, die den folgenden Inhalt enthält.

Dies ist ein Textzeile innerhalb der Datei.

Lassen Sie uns versuchen, den FileReader zur Lesung der Datei zu verwenden.

import java.io.FileReader;
class Main {
  public static void main(String[] args) {
    //Erstellen Sie ein Zeichendarstellungsarray
    char[] array = new char[100];
    try {
      //Erstellen Sie einen Leser mit FileReader
      FileReader input = new FileReader("input.txt");
      //Lesen von Zeichen
      input.read(array);
      System.out.println("Daten in der Datei: ");
      System.out.println(array);
      // Schließen Sie den Leser
      input.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Ausgaberesultat

Daten in der Datei:
Dies ist ein Textzeile innerhalb der Datei.

In diesem Beispiel haben wir einen Dateileсер mit dem Namen input erstellt. Der Dateileсер ist mit der Datei verbundeninput.txtverknüpft.

FileInputStream input = new FileInputStream("input.txt");

Um Daten aus der Datei zu lesen, haben wir die Methode read() verwendet.

Methode getEncoding()

Die Methode getEncoding() kann verwendet werden, um den Codierungstyp zu ermitteln, der für die Speicherung von Daten in der Datei verwendet wird. Zum Beispiel,

import java.io.FileReader;
import java.nio.charset.Charset;
class Main {
  public static void main(String[] args) {
    try {
      //Erstellen Sie einen FileReader mit der Standardkodierung
      FileReader input1 = new FileReader("input.txt");
      //Erstellen Sie einen FileReader mit angegebener Codierung
      FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8"));
      //gibt die Zeichencodierung des Dateilektors zurück
      System.out.println("input1der Zeichencodierung: " + input1.getEncoding());
      System.out.println("input2der Zeichencodierung: " + input2.getEncoding());
      //Schließen Sie den Leser
      input1.close();
      input2.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Ausgaberesultat

input1Zeichensatzkodierung: Cp1252
input2Zeichensatzkodierung: UTF8

Im obigen Beispiel haben wir2Dateileser, benannt als input1und input2.

  • input1Es wurde keine Zeichensatzkodierung spezifiziert. Daher gibt die getEncoding() Methode die Standardzeichensatzkodierung zurück.

  • input2Spezifizieren Sie den ZeichensatzkodierungUTF8. Daher gibt die getEncoding() Methode die spezifizierte Zeichensatzkodierung zurück.

Hinweis: Wir haben den Typ der Zeichensatzkodierung mit dem Charset.forName() Methode spezifiziert.

close() Methode

Um den Dateileser zu schließen, können wir die close() Methode verwenden. Nach dem Aufruf der close() Methode können wir den Leser nicht mehr zum Lesen von Daten verwenden.

Andere Methoden von FileReader

MethodeBeschreibung
ready()Überprüfen Sie, ob der Dateileser bereit ist, gelesen zu werden
mark()Markieren Sie den Position des gelesenen Daten im Dateileser
reset()Setzen Sie den Leser zurück und kehren Sie zum markierten Position im Leser zurück