Dateieingabe- und Ausgabestream
Dateieingabe- und Ausgabe -Stream -FileInputStream und FileOutputStream sind für den Abschluss der sequentiellen Eingabe- und Ausgabevorgänge lokaler Datenträgerdateien verantwortlich.
[Beispiel] Erstellen Sie eine Datei über ein Programm, geben Sie Zeichen von der Tastatur ein, enden Sie, wenn das Zeichen "#" auftritt, und alle Inhalte der Datei werden auf dem Bildschirm angezeigt
Java.io importieren.*; Neue FileOutputStream ("EP10_5"); '#') {B.Write (CH); (Ageedescriptor.out); ) {System.out.println ("Diese Datei kann nicht gefunden werden!");
Der Anlaufpunkt ist eine Klasse in Java.io. Standardeingabe.
[Beispiel] implementieren Sie die Sicherung von Binärgrafikdateien (.gifs)
Java.io importieren. System .out.println ("Die Dateigröße ist:"+A.Arlable ()); das Array B.Write (c); ;}}
Filterfluss
FilterInputStream und FileOutputStream sind direkte Unterklassen von InputStream und OutputStream.
Die beiden häufig verwendeten Filterströme sind der Dateneingabestream DataNputStream und der Data Output -Stream DataOutputStream. Seine Konstruktionsmethode ist:
DataNputStream (InputStream in);
Da DataNputStream und DataOutputStream die in DataNput- und DataOutput -Schnittstellen definierten formatierten Lese- und Schreibvorgänge implementieren (die beiden Schnittstellen geben die Eingabe- und Ausgabemethoden von Grundtypdaten an), werden die formatierten Lese- und Schreibvorgänge für verschiedene Arten von Daten gelesen und schreiben. Aus der Konstruktionsmethode ist ersichtlich, dass die Eingangs- und Ausgangsströme jeweils als Konstruktionsmethodenparameter der Dateneingangs- und Ausgangsströme verwendet werden, dh als gefilterte Streams müssen mit den entsprechenden Datenströmen verbunden werden.
Die DataAnputStream- und DataOutputStream -Klassen bieten viele Lese- und Schreibmethoden für verschiedene Arten von Daten.
[Beispiel] Schreiben Sie drei INT -Typ -Nummern 100, 0 und -100 in die Datendatei EP10_6.dat.
Java.io importieren DataOutputStream mit FileOutputStream zu Ausgabe verschiedener Arten von DataOutputStream a = neuer DataOutputStream (neuer FileOutputStream); } catch (ioException i) {System.out.println ("Fehler aufgetreten!"+Dateiname);
Generieren Sie nach dem Ausführen die Datendatei EP10_7.dat im Programmverzeichnis.
00 00 00 64 00 00 00 00 ff ff ff 9c.
[Beispiel] Lesen Sie drei INT-Typ-Nummern in der Datendatei EP10_6.dat, Summe und Anzeige.
Java.io importieren. neuer BufferputStream (neuer DateiputStream (Dateiname)); + sum);
Auslaufergebnisse:
Die Summe von drei Zahlen ist: 0
Die Readint-Methode kann 4 Bytes aus dem Eingangs- und Ausgangsstrom lesen und direkt am Operation als Int-Typ-Daten teilnehmen. Da Sie bereits wissen, dass in der Datei 3 Daten vorhanden sind, können Sie 3 Leseranweisungen verwenden. Was sollten Sie jedoch tun, wenn Sie nur wissen, dass in der Datei Daten in INT-Type enthalten sind, aber die Anzahl der Daten nicht kennen ? Denn wenn der Vorgang von DataNputStream auftritt, wird am Ende der Datei eine EOFException geworfen.
try {while (true) sum+= a.Readint ();} catch (eOfException e) {System.out.Pritnln ("Die Summe von drei Zahlen ist:"+sum);
EOFException ist eine Unterklasse von IOException.
[Beispiel] Geben Sie eine Ganzzahl von der Tastatur ein und finden Sie die Summe der Ziffern der Zahl.
Java.io importieren B = A.Readint (); sum = sum+d;
Auslaufergebnisse:
Bitte geben Sie eine Ganzzahl ein: 26842403082 Die Summe der Ziffern = 31
Es ist zu beachten, dass die Eingabedaten 26 zu 842403082 geworden sind. Der Grund dafür ist, dass die Eingabedaten nicht dem Format des Grundtyps der Daten entsprechen. Es repräsentiert nur 2 und 6. zwei Zeichen Byte -Daten, nicht Byte -Code, die Ganzzahl 26 darstellen.
Um Ganzzahlen von der Tastatur zu erhalten, müssen Sie zuerst die Zeichenfolge lesen und dann andere Methoden verwenden, um die Zeichenfolge in Ganzzahlen umzuwandeln.
Standardeingang und Ausgabe
System.in, System.out und System.ERR sind im Java.lang.System -Paket definiert.
Standardeingabe: Standardeingangssystem.in ist ein Objekt der BufferedInputStream -Klasse. .
Standardausgabe: Standard -Ausgabesystem.OUT ist ein Objekt der Printstream -Klasse Printstream. Die Printstream -Klasse ist eine Unterklasse der gefilterten Ausgangsstromklasse FilteroutputStream, die die Methoden print () und println () definiert, die verschiedene Arten von Daten auf den Bildschirm ausgeben.
Standardfehlerausgabe: System.ERR wird verwendet, um Benutzern Fehlermeldungen anzuzeigen, und ist auch ein Fehlerstrom, der aus der Printstream -Klasse abgeleitet wird. Die Funktion des ERR -Streams besteht darin, Print () und println () -Anformationen in den Err -Stream auszugeben und auf dem Bildschirm anzuzeigen, um die Benutzer zu verwenden, um Programme zu verwenden und zu debuggen.
[Beispiel] Geben Sie eine Zeichenfolge ein, um sie anzuzeigen, und zeigen Sie die Klassen an, zu denen System.in und System.out gehören.
Java.io importieren. String: "); int count = system.in.read (a); // Lesen Sie das Standardeingangs- und Ausgangsstromsystem.out.println (" Eingabe ist: "); für (int i = 0; i <count; i ++) system.out.print (a [i]+""); // Wagenrückgabe und Zeilenpausen werden nicht angezeigt Nummer ist: "+count); Klasse inklas = system.in.getClass (); Class Outclass = System.out.getClass (); System.out.println (" In der Klasse, in der das Element: "+inclass.t.T. ostring ());
Die laufenden Ergebnisse sind wie folgt:
Es ist zu beachten, dass das Ausgabeergebnis nach Eingabe von 3 Zeichen und Eingabetaste als 5 Zeichen angezeigt wird. Dies liegt daran, dass die Kutschenrendite als zwei Zeichen in Java behandelt wird. Eine ist eine Wagenrendite mit ASCⅱ 13 und der andere ist ein Linienbruch mit einem Wert von 10. Im Programm sind GetClass () und toString () Methoden der Objektklasse, die jeweils verwendet werden, um die entsprechende Klasse an das aktuelle Objekt zurückzugeben und die String -Darstellung des aktuellen Objekts zurückzugeben.