Tässä opetusohjelmassa opitaan Java PrintWriteristä ja sen print () - ja printf () -menetelmistä esimerkkien avulla.
PrintWriter
Luokan java.io
paketti voidaan käyttää kirjoittaa lähdön datan yleisesti luettavassa muodossa (teksti).
Se laajentaa abstraktia luokkaa Writer
.
PrintWriter työskentelee
Toisin kuin muut kirjoittajat, PrintWriter
muuntaa primitiivinen tiedot ( int
, float
, char
, jne.) Kautta tekstimuodossa. Sitten se kirjoittaa alustetut tiedot kirjoittajalle.
Myös PrintWriter
luokka ei heitä mitään input / output poikkeus. Sen sijaan meidän on käytettävä checkError()
menetelmää virheiden löytämiseen.
Huomaa : PrintWriter
Luokalla on myös automaattisen huuhtelun ominaisuus. Tämä tarkoittaa, että se pakottaa kirjoittajan kirjoittamaan kaikki tiedot määränpäähän, jos jotain println()
tai printf()
menetelmistä kutsutaan.
Luo PrintWriter
Tulostuskirjan luomiseksi meidän on java.io.PrintWriter
ensin tuotava paketti. Kun tuot paketin täältä, voimme luoda tulostuskirjan.
1. Muiden kirjoittajien käyttäminen
// Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Tässä,
- Olemme luoneet tulostuskirjan, joka kirjoittaa tiedot tiedostoon, jota
FileWriter
- autoFlush on valinnainen parametri, joka määrittää, suoritetaanko automaattinen huuhtelu vai ei
2. Muiden lähtövirtojen käyttö
// Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Tässä,
- Olemme luoneet tulostuskirjan, joka kirjoittaa tiedot tiedostoon, jota
FileOutputStream
- autoFlush on valinnainen parametri, joka määrittää, suoritetaanko automaattinen huuhtelu vai ei
3. Käyttämällä tiedostonimeä
// Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush);
Tässä,
- Olemme luoneet tulostuskirjan, joka kirjoittaa tietoja määritettyyn tiedostoon
- autoFlush on valinnainen looginen parametri, joka määrittää, suoritetaanko automaattinen huuhtelu vai ei
Huomaa : Kaikissa yllä mainituissa tapauksissa PrintWriter
tiedosto kirjoittaa tiedostoon jonkin oletusmerkkikoodauksen avulla. Voimme kuitenkin määrittää myös merkkikoodauksen ( UTF8 tai UTF16 ).
// Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs);
Tässä olemme käyttäneet Charset-luokkaa merkkikoodauksen määrittämiseen. Jos haluat tietää enemmän, käy Java Charsetissa (virallinen Java-dokumentaatio).
PrintWriter-menetelmät
PrintWriter
Luokka tarjoaa erilaisia menetelmiä, joiden avulla voimme tulostaa tietoja lähtöön.
tulosta () Menetelmä
print()
- tulostaa määritetyt tiedot kirjoittajalleprintln()
- tulostaa tiedot kirjoittajalle ja uuden rivimerkin loppuun
Esimerkiksi,
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(); ) ) )
Yllä olevassa esimerkissä olemme luoneet tulostuskirjoittajan nimeltä output. Tämä kirjoitintekijä on linkitetty tiedostoon output.txt .
PrintWriter output = new PrintWriter("output.txt");
Olemme tulostaneet tietoja tiedostoon käyttämällä print()
menetelmää.
Tässä kun suoritamme ohjelmaa, output.txt- tiedosto on täytetty 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 kokonaislukutiedot muotoillussa merkkijonossa- 25 on argumentti
Alustettu merkkijono sisältää sekä tekstiä että tietoja. Ja argumentit korvaavat alustetun merkkijonon tiedot.
Siksi % d korvataan 25: llä .
Esimerkki: menetelmä printf () käyttäen PrintWriter-ohjelmaa
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(); ) ) )
Yllä olevassa esimerkissä olemme luoneet tulostuskirjoittajan nimeltä output. Tulostuskone on linkitetty tiedostoon output.txt .
PrintWriter output = new PrintWriter("output.txt");
Alustetun tekstin tulostamiseen tiedostoon olemme käyttäneet printf()
menetelmää.
Tässä kun suoritamme ohjelmaa, output.txt- tiedosto on täytetty seuraavalla sisällöllä.
I am 25 years old.
Muut PrintWriter-menetelmät
Menetelmä | Kuvaus |
---|---|
close() | sulkee painetun kirjoittajan |
checkError() | tarkistaa, onko kirjoitimessa virhe ja palauttaa loogisen tuloksen |
append() | liittää määritetyt tiedot kirjoittajaan |
Lisätietoja on Java PrintWriter -sivustossa (virallinen Java-dokumentaatio).