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 PrintStream
osztálya java.io
felhaszná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 PrintStream
primer 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 PrintStream
osztá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 PrintStream
osztá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 PrintStream
importálnunk kell a java.io.PrintStream
csomagot. 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 PrintStream
adatok í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 Charset
osztá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 PrintStream
osztá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 PrintStream
osztá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,
System
egy végső osztály, amely felelős a szabványos bemeneti / kimeneti műveletek elvégzéséértout
osztálybanPrintStream
deklarált típusúSystem
osztályváltozó
Most out
, hogy PrintStream
típusa van, használhatjuk az PrintStream
osztá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ó).