Java PrintWriter (példákkal)

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ónak
  • println() - 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
  • %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ó).

érdekes cikkek...