/**
A bemenet és kimenet kezelése
fejezet példaprogramjai.
A bemenet és kimenet a stream, azaz az
adatfolyam
fogalmához kapcsolódik. Egy adatfolyam nem más, mint valamilyen adatok sorozata.
Vannak bemeneti adatfolyamok, amelyekből adatokat lehet beolvasni, és vannak
kimeneti adatfolyamok, amelyekre adatokat lehet kiírni.
Az adatfolyamok tehát egyirányúak, továbbá egy bemenet esetében csak
az adatfolyam legelejéről tudunk adatokat leemelni (azaz elolvasni), egy
kimenet esetében meg csak az adatfolyam végéhez tudunk új adatokat
hozzáilleszteni (azaz hozzáírni).
A bemeneti adatfolyamokhoz mindig hozzátartozik egy adatforrás, amelyből a
beolvasott adatok jönnek
, a kimeneti adatfolyamokhoz pedig egy adatnyelő,
amelybe a kiírt adatok mennek
. Adatforrás lehet például a billentyűzet,
amin a felhasználó gépel, vagy akár egy fájl, amiből a program olvas.
Adatnyelő szintén lehet egy fájl, de lehet például a képernyő is.
A lényeg az, hogy az adatfolyamok bevezetésével egy olyan absztrakciós szintet
hoztunk létre, amely egységesíti a különböző input/output eszközök használatát:
operációs rendszertől és konkrét eszköztől függetlenül, ugyanazokkal a
műveletekkel tudunk képernyőt, fájlokat vagy hálózatot kezelni, de például
a párhuzamosan futó szálak is kommunikálhatnak adatfolyamokon keresztül egymással.
A fejezet legelső szakaszában az adatfolyamokkal kapcsolatos lehetőségeket fogjuk
áttekinteni.
Tartalomjegyzék a hivatkozott referenciákkal és felhasznált képekkel:
- Referenciák:
- A {@link elte.java2_utikalauz5.io.HelloVilag} példaprogram
- Miről szól ez a fejezet?
-
- Adatfolyamok
- Bájt- és karakterfolyamok
-
- Feladat szerinti csoportosítás
-
- Szabványos be- és kimenet, valamint hibafolyam
-
- Alapfunkciók
- Adatfolyam megnyitása és lezárása
- Referenciák:
- A {@link elte.java2_utikalauz5.io.SzokitSzerver} példaprogram
- A {@link elte.java2_utikalauz5.io.SzokitKliens} példaprogram
- Kiíró műveletek
-
- Olvasó műveletek
- Referenciák:
- A {@link elte.java2_utikalauz5.io.Masolo} példaprogram
- A {@link elte.java2_utikalauz5.io.Beolvas} példaprogram
- A
könyvjelző-mechanizmus
- Referenciák:
- A {@link elte.java2_utikalauz5.io.Ketszerezo} példaprogram
- További tudnivalók}
-
- Egy teljes példa
-
- Az adatfolyamok adatainak tárolása
- Fájlok
-
- Csövek
-
- Bájt- és karaktertömbök, sztringek
- Referenciák:
- A {@link elte.java2_utikalauz5.io.Tombok} példaprogram
- Bájtfolyam felett létrehozott karakterfolyamok
- Referenciák:
- A {@link elte.java2_utikalauz5.io.Kodok} példaprogram
- Adatfolyamok egymás után fűzése
- Referenciák:
- A {@link elte.java2_utikalauz5.io.SokMasolo} példaprogram
- Szűrők
- Referenciák:
- A {@link elte.java2_utikalauz5.io.Vacsora} példaprogram
- A szűrők működési elve: delegálás és toldalékolás
-
- Adatfolyamok bufferelése
- Referenciák:
- A {@link elte.java2_utikalauz5.io.SumBuffer} példaprogram
- Adattípus-értékek beolvasása és kiírása
-
- Szöveges kiírás
- Referenciák:
- A {@link elte.java2_utikalauz5.io.Szoveges} példaprogram
- A bemenet sorainak számolása
- Referenciák:
- A {@link elte.java2_utikalauz5.io.Borok} példaprogram
- Adat visszatevése a bemenetre
- Referenciák:
- A {@link elte.java2_utikalauz5.io.Pushback} példaprogram
- Objektumok beolvasása és kiírása
-
- Objektumok szerializációja
- A {@code Serializable} interfész
-
- Az {@code Externalizable} interfész
- Referenciák:
- Az {@link elte.java2_utikalauz5.io.ExterTeszter} példaprogram
- A tárolni kívánt adattagok kijelölése
-
- Szerializációs jogosultságok
-
- Közvetlen elérésű fájlok
- Referenciák:
- A {@link elte.java2_utikalauz5.io.Random} példaprogram
- A {@code File} osztály: kapcsolat a fájlrendszerrel
- Könyvtárak kilistázása
-
- A fájlokhoz való hozzáférés korlátozása
-
- Szövegfeldolgozás
- A beolvasott karakterek értelmezése
- Referenciák:
- A {@link elte.java2_utikalauz5.io.Szavakra} példaprogram
- A tokenek előállítása
-
- Egyéb műveletek
-
- Számok beolvasása szövegfájlból
-
- A Java módosított UTF-8 formátuma
-
- Tömörítés: a {@code java.util.zip} csomag
-
- Az
új
be- és kimenet könyvtár
- Referenciák:
- A {@link elte.java2_utikalauz5.io.Masolo2} példaprogram
- A bufferek működése
-
- Bufferek létrehozása
- Tömb a buffer belsejében
-
- Bufferek tartalmának megosztása
- Referenciák:
- A {@link elte.java2_utikalauz5.io.SumBuffer2} példaprogram
- Különböző primitív típusok támogatása
-
- Csak olvasható bufferek
-
- Közvetlen és leképzett bufferek
-
- Nem blokkoló IO
-
- Példák gyakori feladatok megoldására
- Számok olvasása szövegfájlból
- Referenciák:
- A {@link elte.java2_utikalauz5.io.Szoroz} példaprogram
- Szövegfájlok kezelése
- Referenciák:
- Az {@link elte.java2_utikalauz5.io.Editor} példaprogram
- Adatok bináris formában
- Referenciák:
- A {@link elte.java2_utikalauz5.io.TesztKliens} példaprogram
- Többszálú szerver
- Referenciák:
- A {@link elte.java2_utikalauz5.io.TesztSzerver} példaprogram
- Több kliens kiszolgálása egy szálon
- Referenciák:
- A {@link elte.java2_utikalauz5.io.TesztSzerver2} példaprogram
@link.forrásfájl {@docRoot}/../data/io/src package-info.java
@author Kozsik Tamás
*/
package elte.java2_utikalauz5.io;