Mit dem Scanner -Klasse in Java , können Sie lesen Daten aus externen Quellen wie Textdateien . Der Prozess benötigt nur wenige einfache Schritte , aber Sie brauchen , um maßgeschneiderte es um eine eigene Datei und das Programm anpassen. Die Java-Plattform bietet Standard- Bibliotheken, die Sie für die Eingabe und Ausgabe-Operationen verwenden können. Nach ersten Erstellen von Instanzen der Klassen in diesen Bibliotheken und dann mit Methoden der Scanner -Klasse , um die Datei Inhalt zu lesen , können Sie den Inhalt in einer Weise , die die Logik des Programms passt zu erwerben. Anleitung
1
Importieren Sie die erforderlichen Java- Ressourcen für Ihre Eingabe Prozess . Fügen Sie die folgende Anweisung am Anfang Ihrer Java-Klasse -Datei, Importieren der Standard-Java- Ressourcen für Eingang und Ausgang:
import java.io. *;
Um die Scanner -Klasse verwenden , Sie müssen auch die class-Datei für sie zu importieren , so fügen Sie die folgenden zusätzlichen Import-Anweisung :
Import java.util.Scanner ;
Sobald Ihr Programm diese Klassen importiert haben, können Sie Objekte erstellen durchzuführen Eingabeoperationen wie Sie.
2
erstellen versuchen und catch-Blöcke zu kümmern jeden beliebigen Eingangs Ausnahmen , die auftreten können zu erfordern . Wenn Ihre Java-Programme Daten aus einer externen Quelle gelesen , riskieren Sie unvorhergesehener Fehler , wie zum Beispiel eine Datei nicht dort ist, wo es sein sollte oder nicht mit dem korrekten Inhalt darin. Aus diesem Grund müssen Sie Ihre Eingabe Verarbeitung Code in einem Try-Block gehören , im Anschluss an diese mit einem catch-Block , um Ausnahmen zu behandeln , wie folgt:
try {//versuchen, Durchführung Eingabeprozesse hier } catch ( IOException IOException) {System.out.println ( ioException.getMessage ()); } .
Wenn das Programm eine Ausnahme macht , Ihr Code wird die Details heraus auf die Standardausgabe schreiben
3
Instanziieren die Eingangs-und Scanner -Klassen für Ihren Betrieb. Um ein Scanner -Objekt verwenden, müssen Sie zuerst FileReader und BufferedReader Objekte zu erstellen. Fügen Sie folgenden Code in Ihrem try-Block eine Instanz der Klasse FileReader und übergibt den Namen und den Speicherort der eigenen Datei als Parameter :
FileReader fileread = new FileReader ( " yourfile.txt " ) ;
Fügen Sie die folgende Zeile , die Schaffung einer Instanz der Klasse BufferedReader , indem Sie Ihre FileReader -Instanz als Parameter :
BufferedReader buffRead = new BufferedReader ( fileread );
erstellen eine Instanz der Klasse Scanner , und übergeben Sie Ihre BufferedReader Objekt wie folgt:
Scanner FileScan = new Scanner ( buffRead );
Ihr Programm ist nun zu lesen und zu verarbeiten, den Inhalt der Datei.
4
Verwenden Sie eine while-Schleife , um die Datei Inhalte zu verarbeiten. Die Scanner können Sie Ihre Datei in Abschnitte zu lesen , so dass Sie es brauchen, um weiter zu lesen , bis die Datei ausgeschöpft hat . Fügen Sie die folgende Schleife Grobstruktur in Ihrem try-Block , auf der Linie , nachdem Sie Ihre Scanner -Objekt zu erstellen :
while ( fileScan.hasNext () ) {//Inhalt der Datei lesen hier } //Schließen der scannerfileScan . close () ;
Diese Schleife wird immer ausgeführt , bis die Scanner alle Dateiinhalte gelesen hat . Innerhalb der Schleife können Sie die Verarbeitung , um jedes Element von Daten in der Datei zu scannen. Sobald Ihre Schleife beendet , hat der Scanner seine Arbeit getan , so können Sie es zu schließen.
5
Lesen Sie den Inhalt der Datei mit dem Scanner . Die Scanner -Klasse bietet Ihnen eine Reihe von Optionen in Bezug darauf, wie Sie verarbeiten den Inhalt der Datei. Sie können die Datei lesen eine Zeile zu einem Zeitpunkt , oder können einzelne Bytes und Zahlen , mit verschiedenen numerischen Typen unterstützt gelesen. Um die Datei in einzelne Zeilen zu lesen , fügen Sie den folgenden Code innerhalb der while-Schleife : String = nextLine fileScan.nextLine ();
Dieser Code speichert eine einzelne Zeile aus der Datei in einem String-Variable jedes Mal die Schleife ausgeführt . Sie durchführen können beliebige Aufgaben mit Hilfe der Datei-Inhalt innerhalb der while-Schleife müssen . (Siehe Referenzen 1, 2)