Gyakorlati alapok II.
Bemenet - kimenet - bevezetés
Nagyon puritán módon megfogalmazva: bemenet az a csatlakozási pont, amelyen keresztül a számítógépbe adatokat, tágabb értelemben információt juttathatunk.
Kimenet pedig az a csatlakozási pont, amelyen keresztül a számítógépből adatokat, tágabb értelemben információt nyerhetünk ki.
Az egyszerű, de hatékony megfogalmazás hamar rávezetheti az Olvasót a kötelező felismerésekre:
-
szinte folyamatosan bemeneti és kimeneti eszközöket használunk fel a számítógéppel történő kommunikációhoz, illetve egyéb adatbevitelhez (például érzékelők),
-
sőt, közöttük egyfajta rangsorolás is kialakult: az átlagos PC esetében a legfontosabb kimeneti eszköz (periféria) a képernyő (monitor), illetve bemeneti eszköz a billentyűzet és az egér. Úgy is megfogalmazhatjuk, hogy ezek az alapértelmezett bemeneti és kimeneti eszközök.
A bemenet és kimenet értelmezése nyilvánvalóan más programozás-technikailag és az egyszerű felhasználó szempontjából. Sőt, maga a programozás-technika is több rétegű, hiszen az átlagos Java-fejlesztőnek sem szükséges hardverközeli programozással, például Assembly-vel foglalkoznia (A programozási nyelvek című fejezet). Azaz a bemeneti-kimeneti eszközök megfelelő illesztéséért elsődlegesen az operációs rendszer és felette a JVM felel, az átlagos Java-fejlesztő feladata a Java nyelv bemeneti-kimeneti rutinjainak ismerete és szabályozott felhasználása.
Voltaképpen 1 kimeneti rutint eddig is rengetegszer felhasználtunk már, ez pedig a System.out objektum println metódusa volt (System.out.println()), amely adatokat küldött az alapértelmezett kimeneti eszközünkre, a monitorra. Illetve néhány fejezetben sikeresen olvastunk be külső fájlból valamilyen bemeneti adatot vagy adattömeget (ilyen volt például a római-arabszámváltás külső adatbázisból).
A Java bemeneti-kimeneti rutinok gyűjteménye a java.io csomagban található (az io rövidítés jelentése input-output). A rutinok logikai szervezése természetesen az objektumorientált szemléletnek megfelelően funkcionális osztályhierarchiában történt meg, közvetlen elérésükhöz a szokásos módon az import java.io.* deklarációt kell megtennünk, csak ezután férhetünk hozzá a szabványos input-output-osztályokhoz és interfészekhez.
Fontos még hangsúlyoznunk, hogy a legtöbb input-output-művelet kötelezően kivételkezelést is von maga után. Ennek részleteiről a Kivételesen beszéljünk a kivételkezelésről című fejezetcsomagban olvashatunk.