Die Verwendung von Eingabeströmen umfasst normalerweise vier grundlegende Schritte:
In diesem Abschnitt machen wir uns mit den oben genannten vier Grundschritten vertraut, indem wir den Dateibyte-Eingabestream untersuchen.
Wenn die Anforderungen zum Lesen von Dateien relativ einfach sind, können Sie die FileInputStream-Klasse (Dateibyte-Eingabestream) verwenden, die eine Unterklasse der InputStream-Klasse ist (Dateien in Bytes lesen). Die Instanzmethoden dieser Klasse stammen alle aus InputStream Die Klasse ist geerbt.
Mit den folgenden Konstruktormethoden der FileInputStream-Klasse können wir einen Eingabestream erstellen, der auf eine Datei verweist.
FileInputStream(Stringname);FileInputStream(Filefile);
Der erste Konstruktor verwendet den angegebenen Dateinamen, um einen FileInputStream-Stream zu erstellen; der zweite Konstruktor verwendet ein File-Objekt, um einen FileInputStream-Stream zu erstellen. Die durch die Parameter name und file angegebene Datei wird als Quelle des Eingabestreams bezeichnet.
Der FileInputStream-Eingabestream öffnet einen Kanal zur Datei (die Quelle ist diese Datei und der Eingabestream zeigt auf diese Datei). Beim Erstellen eines Eingabestreams können Fehler (auch Ausnahmen genannt) auftreten. Beispielsweise kann der Eingabestream auf eine Datei verweisen, die nicht existiert.
Wenn ein E/A- Fehler auftritt, generiert Java ein Fehlersignal, das ein IOException-Objekt (IO-Ausnahme) verwendet, um das Fehlersignal darzustellen. Das Programm muss den Eingabestream im Try-Block-Teil der Try-Catch-Anweisung erstellen und diese Ausnahme im Catch-Block-Teil erkennen und behandeln. Um beispielsweise eine Datei mit dem Namen hello.txt zu lesen, erstellen Sie einen Dateieingabestream in.
try{FileInputStreamin=newFileInputStream(hello.txt);//Einen Eingabestream erstellen, der auf die Datei hello.txt zeigt}catch(IOExceptione){System.out.println(Filereaderror:+e);}
oder
Filef=newFile(hello.txt);//Geben Sie die Quelle des Eingabestreams an try{FileInputStreamin=newFileInputstream(f);//Erstellen Sie einen Eingabestream, der auf die Quelle zeigt}catch(IOExceptione){System.out.println(Filereaderror :+e) ;}