Gyakorlati alapok II.
Bemenet - kimenet
A csatorna (stream)
A csatorna (stream) valamilyen adatok sorozata. Irányuk szempontjából kétféle csatornát definiálhatunk:
-
bemeneti csatorna - segítségével adatokat olvashatunk be, még pedig egy adatforrásból,
-
kimeneti csatorna - segítségével adatokat küldhetünk ki (írhatunk ki), még pedig egy adatnyelőbe.
A stream elsődleges informatikai jelentése adatfolyam és a csatorna valóban így viselkedik:
-
bemeneti adatfolyam (az adatforrástól) - csakis a legelejéről tudunk adatokat leolvasni,
-
kimeneti adatfolyam (az adatnyelő felé) - csakis a legvégéhez tudunk további adatokat hozzáilleszteni (írni).
Mivel sokféle adatforrás és adatnyelő létezik (például egy fájl lehet mindkettő), a programozás-technikai cél egy olyan absztrakciós szint meghatározása és megalkotása volt, amely mindezeket egységesen és az objektumorientált Java-szemlélethez hűen teszi meg: tehát a különböző input-output-eszközöket azonos jellegű és szabványosan definiált műveletekkel érhessük el.
Ebből következően nem véletlen, hogy a Java-nyelvben a csatornákat szintén osztályok definiálják és képviselik.
A csatornákat már csoportosítottuk irányuk szerint, ám további szempontok szerint is katalogizálhatók:
-
adattípus szerint, attól függően, hogy milyen jellegű adat áramlik át rajtuk:
-
bájtcsatorna - a csatornán értelmezhető legkisebb adategység a bájt (byte - 8 bit),
-
karaktercsatorna - a csatornán értelmezhető legkisebb adategység a 16 bites Unicode-szabványú karakter (char),
-
(a 2 fajta adattípusú csatornát nevezik szöveges és bináris formátumnak is).
-
-
Feladatuk alapján:
-
alaposztályok, amelyek teljes egészében meghatározzák és felépítik a csatorna adatfolyam-kapcsolatát,
-
kiegészítő osztályok (szűrők), amelyek a már meglévő csatornát egészítenek ki valamilyen különleges tulajdonsággal vagy funkcionalitással.
-