Führt der Computer Ihres Autos Input und Output durch?
Ja—Daten kommen als Input von den Sensoren, Berechnungen werden durchgeführt und die Ergebnisse werden auf den Kontrolleinheiten ausgegeben.
Wenn das Computerprogramm des Autos in Java geschrieben wäre, würde es spezialisierte IO-Pakete verwenden, die die Sensoren und Kontrolleinheiten regeln. Es würde nicht das IO-Paket verwenden, dass mit Tastatur und Terminals zu tun hat.
In Java wird die Quelle von Eingabedaten als Eingabestrom (Input Stream) bezeichnet und die Ausgabedaten werden Ausgabestrom (Output Stream) genannt. Stellen Sie sich diese Ströme folgendermaßen vor:
In dieser Abbildung wird unterstellt, dass jedes "O" ein Datum (Datenstück) ist, das in Reihe darauf wartet Input zu sein oder als Output rauszugehen. Daten einzugeben wird üblicherweise Daten lesen genannt; und Daten auszugeben wird üblicherweise Daten schreiben genannt (oder Daten ausgeben, wenn der Ausgabestrom mit dem Bildschirm oder einem Drucker verknüpft ist).
Sie könnten sich den Eingabestrom als ein Kette von Perlen vorstellen, die das Programm der Reihe nach eine nach der anderen einliest. Der Ausgabestrom ist ein Kette von neuen Perlen (üblicherweise nicht dieselben, die hereinkamen). Oft wird ein Programm mehrere Daten in Reihe einlesen müssen, bevor es genug zum verarbeiten hat. Zum Beispiel könnten die Eingabedaten ein Liste von Zahlen sein, Die Ausgabedaten könnten ihre Summe sein.
Im allgemeinen könnte ein Programm mehrere Eingabeströme, die in es hineinfließen, und Ausgabeströme, die aus ihm herausfließen, haben. Für die meisten Programme in diesen Aufzeichnungen gibt es drei IO-Ströme:
System.in — der Eingabestrom.System.out — der Ausgabestrom für die normalen Ergebnisse.System.err — der Ausgabestrom für Fehlermeldungen.
Normalerweise ist System.in mit der Tastatur verbunden
und die Daten sind Character.
System.out und System.err sind beide mit dem
Bildschirm verbunden und
beide sind Character-Daten.
Diese Ströme sind für sich gesehen schwierig zu handhaben.
Wir werden als Hilfe das Paket java.io verwenden.