Streams O, outputstream
Java standard könyvtár egy nagyon fejlett eszköz kimenet. Minden kimeneti lehetőségeket koncentrálódnak a csomag java.io.
Két párhuzamos hierarchia teljesítmény-osztályban. OutputStream és író. Writer osztályú be a legújabb változat a Java.
Ez a cikk bemutatja a használatát adatfolyamok adatok kimenetét fájlba. Hierarchia kiadási OutputStream folyam vonatkozásában az alábbi ábra.

Tápáram - absztrakt érték adatforrást, vagy a vevő, amely képes feldolgozni információkat. Kétféle patakok: byte és jellegét. Bizonyos helyzetekben a kódjelfolyamokat hatékonyabbak, mint byte. Osztályok, hogy abból az osztályból OutputStream vagy író. Módszerek nevezték write (), hogy írjon egyetlen byte vagy byte array (felelős kimenő adatok).
Class OutputStream - egy absztrakt osztály, amely meghatározza a byte stream kimenet.
Örökösei ennek az osztálynak határozza küldjük az adatok: egy sor bájt egy fájlba vagy csatornát. Tól bájttömböt létrehozhat egy szöveget karakterlánc.
OutputStream osztály módszerek:
- void write (int b) írja egy byte a kimenet. Ezzel a módszerrel az érvelés egy int, amely lehetővé teszi, hogy hívja írni, így ez a kifejezés, akkor nem kell elvégezni, hogy azt a típus byte.
- void write (byte b []) azt írja, hogy a kimeneti stream összes említett tömb bájt.
- void write (byte b [], int le, int len) írja áramába részét a tömb LEN bájtok száma kezdődő elem b [off].
- void flush () törli az esetlegesen kimeneti pufferek, kiegészítve a kivonási művelet.
- void close () bezárja a kimeneti stream. Későbbi kísérletek, hogy írjon az áramot gerjeszti IOException.
Class ByteArrayOutputStream van kimeneti stream segítségével egy sor bájt a helyét. Ahhoz, hogy hozzon létre egy objektumot az ebbe az osztályba, akkor annak egyik konstruktőrök:
Az első szerkesztő létrehoz egy sor adat byte tárolására 32 bájt hosszúságú, és a második konstruktor létrehoz egy sor mérete hossza.
Alkalmazási példák ByteArrayOutputStream osztályok:
Osztályba ByteArrayOutputStream módszer írja az adatokat írjon a patak néhány (tömb bájt). Ez a tömb tárolt bájtok biztonságos létesítményben ByteArrayOutputStream buf területen, amely szintén egy sor bájt (védett byte [] buf). Mivel az írási módszer dobni egy kivételt, akkor a metódus kerül try..catch blokk.
Használata toString () és toByteArray (). akkor kap egy sor bájt buf szövegként vagy közvetlenül bájttömböt.
A writeTo módszerrel lehet átirányítani egy sor bájt egy másik téma. Ez a módszer, mint a paraméter egy objektum OutputStream. amely során rekord byte tömböt:
Mert ByteArrayOutputStream nem kell kifejezetten lezárja a patak módszerrel közel.
FileOutputStream készít egy osztály OutputStream objektum, amelyek segítségével, hogy írjon bájt egy fájlba. Ez a fő osztály dolgozik fájlokat. Létrehozva egy új objektum nem függ attól, hogy a megadott fájl létezik-e vagy sem. Ha a fájl nem létezik, egy új fájl jön létre. Ha megpróbál megnyitni egy fájlt csak olvasható, hogy el kell dobni.
FileOutputStream a következő tervezők:
Hogy mit jelent a tervezők az utolsó kitűnik azok leírását. De vannak olyan árnyalatok:
- Amikor megnyit egy fájlt írásra, ha a fájl nem létezik, akkor létrejön.
- Ha a fájl létezik, akkor lesz teljesen frissítve. Ie Ha megnyitja és bezárja a fájlt azonnal, az a fájl tartalmát is meg kell semmisíteni; képfájl lesz nulla hosszúságú.
- Kivételt az előző szabály az utolsó tervezők. Ha hozzáfűzi a harmadik paraméter értéke igaz, akkor csatolni kell a fájlt.
Bármilyen további funkciók, mint a szülő osztály FileOutputStream hozzá.
Class BufferedOutputStream létrehoz egy puffer a kilépő. Ez a puffer tárolja bájtok nélküli kimenet állandó hivatkozás a készülék. Ha a puffer megtelik, adatrögzítés végezzük.
BufferedOutputStream osztály konstruktor veszi OutputStream objektum paraméter - ebben a példában a kimeneti fájl folyam FileOutputStream.
BufferedOutputStream sok új funkciók, könnyen optimalizáljuk az áramlási vyvodai intézkedéseket kell szervezésére használjuk hatékonyabban pufferelt kimeneti stream.
Class DataOutputStream lehetővé teszi az adatok írását a átáramoljon vonatkozó adatokKILÉPŐ felület, amely meghatározza a módszereket, hogy átalakítani az alap értékek szekvenciát alkotnak bájtok. Az ilyen hullámok könnyebb menteni bináris adatállományban.
Rögzíteni az egyes primitív típusok egy osztály módszer DataOutputStream:
- writeByte (int érték) - 1 írja egy byte stream
- writeChar (int érték) - rögzíti a 2 byte-os érték char
- writeInt (int érték) - rögzíti a patak egész értéket int
- writeShort (int v) - írja rövid áramlási értéket
- writeFloat (lebegőpontos érték) - írja 4 byte-os érték float áramban
- writeDouble (dupla érték) - írja áramban 8 bájtos érték kettős
- writeBoolean (logikai érték) - írja a byte stream logikai érték
- writeLong (hosszú érték) - írja egy hosszú áramlási értéket
- writeUTF (karakterlánc érték) - rögzíti a patak vonal UTF-8 kódolás
PrintStream ez az osztály, hogy használják az információ megjelenítésére a konzolon. Amikor használja a hívás System.out.println (), hogy írjon néhány információt, hogy az ily módon használja a PrintStream, hiszen a változó ki Rendszer osztály az adott objektum osztály a PrintStream és println () metódus - módszer az osztály PrintStream.
De PrintStream felhasználható információt írni a kimeneti stream. Például írhatunk adatokat egy fájlba:
Ez a példa PrintStream kivitelező. amely úgy, mint a paraméter patak FileOutputStream kimenet. Egy is használja a tervező adja meg a fájl nevét a rekordot: PrintStream (String filename).
A következő println () metódus termel információt rekord a kimeneti áram - azaz FileOutputStream objektumot. Abban az esetben, kimenet a konzolra keresztül System.out.println () a konzol szolgál a kimeneti stream.
A kimeneti adatokat a kimeneti stream PrintStream használja a következő módszerek:
A következő kód mutatja a lehetőségét, hogy formázott kimenetet PrintStream osztály:
ObjectOutputStream osztály használják sorosításához egy tárgy, egy patak. Sorszámozás az objektum állapotát rögzítési folyamat a falon, illetve extrakciós folyamat vagy visszaállítja a állapota az objektum a patak nevű deserialization. Sorszámozás nagyon kényelmes, ha a munka megy tovább összetett tárgyakat.
Ahhoz, hogy hozzon létre egy objektumot ObjectOutputStream kell átadni a kivitelező az áramot, amely a felvenni kívánt tárgyakat.
ObjectOutputStream adatok írására segítségével több módszer, amelyek közül a következők: