Tässä opetusohjelmassa opitaan Java PrintStream -luokasta ja sen print () - ja printf () -menetelmistä esimerkkien avulla.
PrintStreamLuokan java.iopaketti voidaan käyttää kirjoittamaan lähtödatan yhteisesti luettavassa muodossa (teksti) sijasta tavua.
Se laajentaa abstraktia luokkaa OutputStream.

PrintStreamin työskentely
Toisin kuin muut lähtövirrat, PrintStreamprimitiiviset tiedot (kokonaisluku, merkki) muunnetaan tekstimuodoksi tavujen sijaan. Sitten se kirjoittaa alustetut tiedot lähtövirtaan.
Ja PrintStreamluokka ei myöskään heitä mitään tulo- / lähtöpoikkeuksia. Sen sijaan meidän on käytettävä checkError()menetelmää virheiden löytämiseen.
Huomaa : PrintStreamLuokalla on myös automaattisen huuhtelun ominaisuus. Tämä tarkoittaa, että se pakottaa lähtevirran kirjoittamaan kaikki tiedot kohteeseen yhdessä seuraavista ehdoista:
- jos
uuden rivin merkki on kirjoitettu tulostusvirtaan - jos
println()menetelmää käytetään - jos tavujoukko on kirjoitettu tulostusvirtaan
Luo PrintStream
Paketin luomiseksi PrintStreammeidän on java.io.PrintStreamensin tuotava paketti. Kun tuot paketin täältä, voimme luoda tulostusvirran.
1. Muiden lähtövirtojen käyttö
// Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush);
Tässä,
- Olemme luoneet tulostusvirran, joka kirjoittaa alustetut tiedot tiedostoon, jota edustaa
FileOutputStream - autoFlush on valinnainen looginen parametri, joka määrittää, suoritetaanko automaattinen huuhtelu vai ei
2. Käyttämällä tiedostonimeä
// Creates a PrintStream PrintStream output = new PrintStream(String file, boolean autoFlush);
Tässä,
- Olemme luoneet tulostusvirran, joka kirjoittaa alustetut tiedot määritettyyn tiedostoon
- autoFlush on valinnainen looginen parametri, joka määrittää, suoritetaanko automaattinen huuhtelu vai ei
Huomaa : Molemmissa tapauksissa PrintStreamkirjoitusdata tiedostoon käyttäen oletusmerkkikoodausta. Voimme kuitenkin määrittää myös merkkikoodauksen ( UTF8 tai UTF16 ).
// Creates a PrintStream using some character encoding PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs);
Tässä olemme käyttäneet Charsetluokkaa merkkien koodauksen määrittämiseen. Lisätietoja on Java Charset -sivustossa (virallinen Java-dokumentaatio).
Menetelmät PrintStream
PrintStreamLuokka tarjoaa erilaisia menetelmiä, joiden avulla voimme tulostaa tietoja lähtöön.
tulosta () Menetelmä
print()- tulostaa määritetyt tiedot lähtövirtaanprintln()- tulostaa tiedot ulostulovirtaan ja uuden rivimerkin loppuun
Esimerkki: print () -menetelmä järjestelmäluokalla
class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) )
Tuotos
Hei maailma.
Yllä olevassa esimerkissä emme ole luoneet tulostusvirtaa. Voimme kuitenkin käyttää luokan print()menetelmää PrintStream.
Saatat miettiä, miten tämä on mahdollista. No, anna minun selittää, mitä täällä tapahtuu.
Huomaa rivi,
System.out.print(data);
Tässä,
Systemon viimeinen luokka, joka on vastuussa normaalin tulo- / lähtötoiminnon suorittamisestaouton luokan muuttujaPrintStreamtyyppiä ilmoitettuSystemluokassa
Koska outse on PrintStreamtyyppiä, voimme käyttää sitä kutsumaan kaikki PrintStreamluokan menetelmät .
Esimerkki: print () -menetelmä PrintStream-luokassa
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(); ) ) )
Yllä olevassa esimerkissä olemme luoneet tulostusvirran nimeltään output. Tulostusvirta on linkitetty output.txt- tiedostoon.
PrintStream output = new PrintStream("output.txt");
Olemme tulostaneet tietoja tiedostoon käyttämällä print()menetelmää.
Tässä, kun suoritamme ohjelmaa, output.txt- tiedosto täytetään seuraavalla sisällöllä.
This is a text inside the file.
printf () -menetelmä
printf()Menetelmää voidaan käyttää tulostamaan muotoillun merkkijonon. Se sisältää 2 parametria: muotoiltu merkkijono ja argumentit. Esimerkiksi,
printf("I am %d years old", 25);
Tässä,
- Olen% d vuotta vanha on alustettu merkkijono
- % d on kokonaislukutieto alustetussa merkkijonossa
- 25 on argumentti
Alustettu merkkijono sisältää sekä tekstiä että tietoja. Ja argumentit korvaavat alustetun merkkijonon tiedot.
Siksi % d korvataan 25: llä .
Esimerkki: printf () -menetelmä käyttämällä PrintStreamia
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(); ) ) )
Yllä olevassa esimerkissä olemme luoneet tulostusvirran nimeltään output. Tulostusvirta on linkitetty tiedostoon output.txt .
PrintStream output = new PrintStream("output.txt");
Alustetun tekstin tulostamiseen tiedostoon olemme käyttäneet printf()menetelmää.
Tässä, kun suoritamme ohjelmaa, output.txt- tiedosto täytetään seuraavalla sisällöllä.
I am 25 years old.
Muut PrintStreamin menetelmät
| Menetelmät | Kuvaukset |
|---|---|
close() | sulkee tulostusvirran |
checkError() | tarkistaa, onko virrassa virhe ja palauttaa boolen tuloksen |
append() | liittää määritetyt tiedot streamiin |
Lisätietoja on Java PrintStreamissa (virallinen Java-dokumentaatio).








