Ebben az oktatóanyagban példák segítségével megismerhetjük a Java PrintStream osztályt és annak print () és printf () metódusait.
A csomag PrintStreamosztálya java.iofelhasználható a kimeneti adatok bájtok helyett általánosan olvasható formában (szöveg) történő megírásához.
Kiterjeszti az absztrakt osztályt OutputStream.

A PrintStream működése
Más PrintStreamprimer adatfolyamokkal ellentétben a primitív adatokat (egész szám, karakter) bájtok helyett szöveges formátumba konvertálja. Ezután a formázott adatokat a kimeneti adatfolyamba írja.
És az PrintStreamosztály nem dob semmilyen bemeneti / kimeneti kivételt. Ehelyett a checkError()módszert kell használnunk , hogy hibát találjunk benne.
Megjegyzés : Az PrintStreamosztály rendelkezik az automatikus öblítés funkciójával is. Ez azt jelenti, hogy arra kényszeríti a kimeneti adatfolyamot, hogy az összes adatot a célállomásra írja a következő feltételek valamelyikével:
- ha újsor karaktert 
írunk a nyomtatási adatfolyamba - ha a 
println()metódust meghívják - ha a nyomtatási adatfolyamba bájt tömböt írnak
 
Hozzon létre egy PrintStream-et
A létrehozásához először PrintStreamimportálnunk kell a java.io.PrintStreamcsomagot. A csomag importálása után itt hozhatjuk létre a nyomtatási adatfolyamot.
1. Más kimeneti adatfolyamok használata
 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush); 
Itt,
- létrehoztunk egy nyomtatási folyamot, amely formázott adatokat fog írni az általuk képviselt fájlba 
FileOutputStream - Az autoFlush egy opcionális logikai paraméter, amely meghatározza, hogy végre kell-e hajtani az automatikus öblítést
 
2. A fájlnév használata
  // Creates a PrintStream PrintStream output = new PrintStream(String file, boolean autoFlush); 
Itt,
- létrehoztunk egy nyomtatási folyamot, amely formázott adatokat ír a megadott fájlba
 - Az autoFlush egy opcionális logikai paraméter, amely meghatározza, hogy végre kell-e hajtani az automatikus öblítést
 
Megjegyzés : Mindkét esetben az PrintStreamadatok írása a fájlba valamilyen alapértelmezett karakterkódolással. Megadhatjuk azonban a karakterkódolást ( UTF8 vagy UTF16 ) is.
 // Creates a PrintStream using some character encoding PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs); 
Itt az Charsetosztályt használtuk a karakterkódolás megadásához. További információkért látogasson el a Java Charset (hivatalos Java dokumentáció) oldalra.
A PrintStream módszerei
Az PrintStreamosztály különféle módszereket kínál, amelyek lehetővé teszik számunkra, hogy adatokat nyomtassunk a kimenetre.
print () módszer
print()- kinyomtatja a megadott adatokat a kimeneti adatfolyambaprintln()- kinyomtatja az adatokat a kimeneti adatfolyamba, egy új sor karakterrel együtt a végén
Példa: print () metódus Rendszer osztállyal
 class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) ) 
Kimenet
Helló Világ.
A fenti példában nem hoztunk létre nyomtatási adatfolyamot. Használhatjuk azonban print()az PrintStreamosztály módszerét .
Lehet, hogy arra kíváncsi, hogyan lehetséges ez. Nos, hadd magyarázzam el, mi történik itt.
Figyelje meg a sort,
 System.out.print(data); 
Itt,
Systemegy végső osztály, amely felelős a szabványos bemeneti / kimeneti műveletek elvégzéséértoutosztálybanPrintStreamdeklarált típusúSystemosztályváltozó
Most out, hogy PrintStreamtípusa van, használhatjuk az PrintStreamosztály összes metódusának meghívására .
Példa: print () metódus a PrintStream osztályával
 import java.io.PrintStream; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintStream output = new PrintStream("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 
A fenti példában létrehoztunk egy output nevű nyomtatási adatfolyamot. A nyomtatási adatfolyam az output.txt fájlhoz van kapcsolva .
 PrintStream output = new PrintStream("output.txt"); 
Az adatok fájlba történő kinyomtatásához a print()módszert használtuk .
Itt, amikor futtatjuk a programot, az output.txt fájl a következő tartalommal töltődik fel.
 This is a text inside the file. 
printf () metódus
A printf()módszer használható a formázott karakterlánc kinyomtatására. 2 paramétert tartalmaz: formázott karakterláncot és argumentumokat. Például,
 printf("I am %d years old", 25); 
Itt,
- % D éves vagyok egy formázott karakterlánc
 - % d egész szám a formázott karakterláncban
 - A 25. érv
 
A formázott karakterlánc szöveget és adatokat egyaránt tartalmaz. Az argumentumok helyettesítik a formázott karaktersorozat adatait.
Ezért a % d helyébe 25 lép .
Példa: printf () módszer a PrintStream segítségével
 import java.io.PrintStream; class Main ( public static void main(String() args) ( try ( PrintStream output = new PrintStream("output.txt"); int age = 25; output.printf("I am %d years old.", age); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 
A fenti példában létrehoztunk egy output nevű nyomtatási adatfolyamot. A nyomtatási adatfolyam az output.txt fájlhoz van kapcsolva .
 PrintStream output = new PrintStream("output.txt"); 
A formázott szöveg fájlba nyomtatásához a printf()módszert használtuk .
Itt, amikor futtatjuk a programot, az output.txt fájl a következő tartalommal töltődik fel.
 I am 25 years old.  
A PrintStream egyéb módszerei
| Mód | Leírások | 
|---|---|
close() |  bezárja a nyomtatási folyamot | 
checkError() |  ellenőrzi, hogy nincs-e hiba az adatfolyamban, és logikai eredményt ad vissza | 
append() |  a megadott adatokat hozzáfűzi az adatfolyamhoz | 
További információkért látogasson el a Java PrintStream oldalra (hivatalos Java dokumentáció).








