Java-Programmierung: Lesen aus einer Datei

Viele Java-Programme lesen Zeichen von der Tastatur des Computers. Diese Programme verwenden Dinge wie Scanner, System.in, und nextdouble - Dinge in Java API definiert. Das DoPayroll Programm in dieser Auflistung setzt einen neuen Spin auf dieser Geschichte. Statt Zeichen von der Tastatur zu lesen, liest das Programm Zeichen aus der EmployeeInfo.txt Datei. Die Datei lebt auf Ihrem Computer-Festplatte.

Import java.util.Scanner-Import java.io.File-Import java.io.IOException-public class DoPayroll {public static void main (String args []) throws IOException {Scanner diskScanner = new Scanner (neue Datei ( "EmployeeInfo. txt ")) - für (int Empnum = 1- Empnum lt; = 3- Empnum ++) {payOneEmployee (diskScanner) -} diskScanner.close () -} static void payOneEmployee (Scanner aScanner) {Mitarbeiter anEmployee = new Employee()-anEmployee.setName(aScanner.nextLine())-anEmployee.setJobTitle(aScanner.nextLine())-anEmployee.cutCheck(aScanner.nextDouble())-aScanner.nextLine()-}}

Um Zeichen aus einer Datei zu lesen, verwenden Sie einige der gleichen Dinge, die Ihnen helfen, Zeichen von der Tastatur lesen. Sie nutzen Scanner, nextdouble, und andere Leckereien. Aber zusätzlich zu diesen Leckereien, haben Sie ein paar zusätzliche Hürden zu springen. Hier ist eine Liste:

  • Du brauchst ein neue Datei Objekt. Um genauer zu sein, müssen Sie eine neue Instanz der API Datei Klasse. Sie erhalten diese neue Instanz mit Code wie

    neue Datei ( "EmployeeInfo.txt")

    Das Zeug in Anführungszeichen ist der Name einer Datei - eine Datei auf Ihrem Computer-Festplatte. Die Datei enthält Zeichen.

    An dieser Stelle macht die Terminologie Berge aus Maulwurfshügel. Sicher, die Sätze neue Datei Objekt und neue Datei Beispielerscheinen, aber alles, was Sie tun, ist zu machen neue Datei ( "EmployeeInfo.txt") stehen für eine Datei auf Ihrer Festplatte. Nachdem Sie schieben neue Datei ( "EmployeeInfo.txt") in neue Scanner,

    Scanner diskScanner = new Scanner (neue Datei ( "EmployeeInfo.txt")) -

    Sie können alle über das vergessen neue Datei Geschäft. Von diesem Punkt in dem Code auf, diskScanner steht für die EmployeeInfo.txt Dateinamen auf der Festplatte des Computers. (Der Name diskScanner steht für eine Datei auf Ihrer Festplatte so wie in den vorherigen Beispielen, der Name Tastatur diese Tasten steht für die Sie tagein und tagaus drücken.)

    Erstellen einer neue Datei Objekt in der Auflistung ist wie eine Erstellung neuer Angestellter später in der gleichen Auflistung widersprechen. Der einzige Unterschied ist, dass das Mitarbeiter und Konto Klassen werden in diesem Buch Beispiele definiert. Das Datei Klasse ist in Java API definiert.

    Wenn Sie eine Verbindung zu einer Plattendatei mit neue Scanner, vergessen Sie nicht, die neue Datei Teil. Wenn Sie schreiben neue Scanner ( "EmployeeInfo.txt") ohne neue Datei, wird der Compiler nichts dagegen. (Sie erhalten keine Warnungen oder Fehlermeldungen erhalten, bevor Sie den Code ausführen.) Aber wenn Sie den Code ausführen, werden Sie nicht so etwas wie die Ergebnisse, die Sie erhalten erwarten.

  • Sie müssen auf die beziehen Datei Klasse mit vollem Namen - java.io.File. Sie können in der Liste tun dies wie das mit einer Einfuhranmeldung. Alternativ können Sie Ihren Code mit einer Erklärung verunstalteten wie

    Scanner diskScanner = new Scanner (neu java.io.Datei ( "EmployeeInfo.txt")) -
  • Du brauchst ein throws IOException Klausel. Viele Dinge schief gehen kann, wenn das Programm eine Verbindung zum EmployeeInfo.txt. Zum einen können sich Ihre Festplatte eine Datei nicht genannt haben EmployeeInfo.txt.

  • Zum anderen wird die Datei EmployeeInfo.txt kann im falschen Verzeichnis sein. Um sich für diese Art von Katastrophe stemmen, nimmt die Java-Programmiersprache bestimmte Vorsichtsmaßnahmen. Die Sprache besteht darauf, dass, wenn eine Plattendatei beteiligt ist, können Sie die möglichen Gefahren erkennen zu rufen neue Scanner.

    Sie können die Gefahren in mehrere Möglichkeiten erkennen, aber der einfachste Weg ist, ein zu verwenden, wirft Klausel. In der Auflistung, die Main Verfahren Header endet mit den Worten: throws IOException. Durch das Hinzufügen dieser zwei Worten beschwichtigen Sie den Java-Compiler.

    Es ist, als wenn Sie sagen, # 147-Ich weiß, dass Aufruf neue Scanner führen zu Problemen können. Sie müssen mich nicht erinnern. # 148- Und sicher genug, das Hinzufügen throws IOException auf Ihre Main Verfahren hält der Compiler beschweren. (Ohne das wirft Klausel, erhalten Sie eine nicht gemeldete Ausnahme Fehlermeldung.)

Menü