Java PrintStream (példákkal)

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 adatfolyamba
  • println() - 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,

  • System egy végső osztály, amely felelős a szabványos bemeneti / kimeneti műveletek elvégzéséért
  • outosztályban PrintStreamdeklará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ó).

érdekes cikkek...