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 PrintWriterosztálya java.iofelhaszná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, charstb) a szöveges formátumban. Ezután megírja a formázott adatokat az írónak.
Ezenkívül az PrintWriterosztá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 PrintWriterosztá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.PrintWriterelő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 PrintWriteradatokat 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 PrintWriterosztá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
%degy formázott karakterlánc %degé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ó).








