Ebben az oktatóanyagban példák segítségével megismerhetjük a Java PrintWritert és annak print () és printf () metódusait.
A csomag PrintWriter
osztálya java.io
felhasználható a kimeneti adatok általánosan olvasható formában (szöveg) történő írásához.
Kiterjeszti az absztrakt osztályt Writer
.
A PrintWriter működése
Eltérően más írók, PrintWriter
átalakítja a primitív adatokat ( int
, float
, char
stb) a szöveges formátumban. Ezután megírja a formázott adatokat az írónak.
Ezenkívül az PrintWriter
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 PrintWriter
osztály rendelkezik az automatikus öblítés funkciójával is. Ez azt jelenti, hogy arra kényszeríti az írót, hogy az összes adatot a rendeltetési helyre írja, ha a println()
vagy printf()
metódusok egyikét meghívja.
Hozzon létre egy PrintWritert
Nyomtató író létrehozásához java.io.PrintWriter
először importálnunk kell a csomagot. A csomag importálása után itt hozhatjuk létre a nyomtató írót.
1. Más írók felhasználásával
// Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Itt,
- hoztunk létre egy nyomtató írót, amely adatokat fog írni a
FileWriter
- Az autoFlush egy opcionális paraméter, amely meghatározza, hogy végre kell-e hajtani az automatikus öblítést
2. Más kimeneti adatfolyamok használata
// Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Itt,
- hoztunk létre egy nyomtató írót, amely adatokat fog írni a
FileOutputStream
- Az autoFlush egy opcionális paraméter, amely meghatározza, hogy végre kell-e hajtani az automatikus öblítést
3. A fájlnév használata
// Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush);
Itt,
- hoztunk létre egy nyomtató írót, amely 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 vagy sem
Megjegyzés : Az összes fenti esetben az PrintWriter
adatokat valamilyen alapértelmezett karakterkódolással írja a fájlba. Megadhatjuk azonban a karakterkódolást ( UTF8 vagy UTF16 ) is.
// Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs);
Itt a Charset osztályt használtuk a karakterkódolás megadásához. Ha többet szeretne megtudni, látogasson el a Java Charset oldalra (hivatalos Java dokumentáció).
A PrintWriter módszerei
Az PrintWriter
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 az írónakprintln()
- kinyomtatja az adatokat az írónak a végén egy új vonalkarabbal együtt
Például,
import java.io.PrintWriter; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintWriter output = new PrintWriter("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
A fenti példában létrehoztunk egy output nevű nyomtatási írót. Ez a nyomtatóíró az output.txt fájlhoz kapcsolódik .
PrintWriter output = new PrintWriter("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,
- Éves vagyok
%d
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 PrintWriter használatával
import java.io.PrintWriter; class Main ( public static void main(String() args) ( try ( PrintWriter output = new PrintWriter("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 írót. A nyomtatóíró az output.txt fájllal van összekapcsolva .
PrintWriter output = new PrintWriter("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 PrintWriter egyéb módszerei
Módszer | Leírás |
---|---|
close() | bezárja a nyomtatott írót |
checkError() | ellenőrzi, hogy van-e hiba az íróban, és logikai eredményt ad vissza |
append() | a megadott adatokat hozzáfűzi az íróhoz |
További információkért látogasson el a Java PrintWriter oldalra (hivatalos Java dokumentáció).