14-es előadás Flashcards
Mi az I/O stream? Mi lehet a forrás és a célhelye az I/O streamnek?
Az I/O stream egy bemeneti forrást és egy kimeneti célt reprezentál. A stream egy adat folyamot jelent.
Sok különböző forrás és cél lehetséges. Pl: Lemezfájlok, eszközök, más programok, hálózati kártya vagy memória tömbök. Több adattípust is támogat, pl.: bytok, primpitív adattípusok, karakterek objektumok.
Mi az a byte stream?
Más streamek alapja. Olyan programok esetén használatos amely 8-bites bytok I!O-jával foglalkozik. Ezek a streamek az In(/Out)putStream osztályok éeszármazottai. A streamek bezárása nagyon fontos, ezt egy finally blokkba is helyezhető.
Mi az a character stream?
Unicode-t használva tárol a Java platform karaktereket. A character stream ezt a kódolást automatikusan fordítja I/O műveletnél. Minden ilyen stream osztály a Reader és a Writer osztályok leszármazottja.
Pl.: FileWriter és FileReader
Mi az a buffer stream?
A character és a byte streammel ellentétben a buffered stream nem az OS-re hagyja a read és write kéréseket. Ez azt eredményezi, hogy lassabb az írási és olvasási sebessége, hiszen minden olvasáshoz és íráshoz kell egy lemez/hálózathozzáférés.
Ennek elkerülése végett a Java bufferel I/O-t használ amely a memóriában teruletet foglal el. Az API csak akkor indul ha üres (input) vagy teli van (outpu) a buffer. (Azért, hogy ne kelljen sokszor babrálni.)
Pl: inputStream = new BufferedReader(new FileReader(“”));
Scanning and Formating:
Az emberek számára jól formatált adatok I/O műveleteit végzi.
A scanner egyes tokenekre osztja az adatrészeket.
A formatting pedig ezeket a részeket emberi fogyasztásra alkalmassá formatálja.
Fontos ezeket is bezárni!
Mi a 3 standard stream a Java-ban? Melyik mire valók?
Standard Input (System.in): Bemeneti adatfolyam, alapértelmezetten a billentyűzetről olvas.
Standard Output (System.out): Kimeneti adatfolyam, alapértelmezetten a konzolra ír.
Standard Error (System.err): Hibakimeneti adatfolyam, a hibák és figyelmeztetések konzolra történő kiírására szolgál.
Mi a data stream?
Primitív adattípusok bináris I/O műveleteire használatos. (Pl: boolean, char, byte, int.. és a Stringek is) Ez a stream a DataIn(/Out)put interfészeket implementálják.
Mi az object stream?
Objektumok I/O műveleteire használható. majdnem mindegyik standard osztály támogatja az objektumainak szerializációját. Amelyek támogatják, azok implementálták a Serializable interfészt.