„Java PrintWriter“ (su pavyzdžiais)

Šioje pamokoje pavyzdžių pagalba sužinosime apie „Java PrintWriter“ ir jos print () bei printf () metodus.

PrintWriterKlasės java.iopakuotėje gali būti naudojamas rašyti išvesties duomenis dažniausiai nuskaitoma forma (tekstas).

Tai pratęsia abstrakčią klasę Writer.

„PrintWriter“ darbas

Skirtingai nuo kitų rašytojų, PrintWriterkonvertuoja primityvius duomenis ( int, float, charir tt) į teksto formatu. Tada rašo rašytojui tuos suformatuotus duomenis.

Be to, PrintWriterklasė nemeta jokių įvesties / išvesties išimčių. Vietoj to, checkError()norėdami rasti bet kokią klaidą , turime naudoti metodą.

Pastaba : PrintWriterklasėje taip pat yra automatinio plovimo funkcija. Tai reiškia, kad tai priverčia rašytoją rašyti visus duomenis į paskirties vietą, jei iškviečiamas vienas iš println()arba printf()būdų.

Sukurkite „PrintWriter“

Norėdami sukurti spausdinimo rašytoją, pirmiausia turime importuoti java.io.PrintWriterpaketą. Kai importuosime paketą, galime sukurti spausdinimo rašytoją.

1. Naudodamiesi kitais rašytojais

 // Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Čia

  • sukūrėme spausdinimo įrenginį, kuris įrašys duomenis į failą, kurį žymi FileWriter
  • „autoFlush“ yra pasirenkamas parametras, nurodantis, ar reikia atlikti automatinį plovimą, ar ne

2. Naudojant kitus išvesties srautus

 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush); 

Čia

  • sukūrėme spausdinimo įrenginį, kuris įrašys duomenis į failą, kurį žymi FileOutputStream
  • „autoFlush“ yra pasirenkamas parametras, nurodantis, ar atlikti automatinį plovimą, ar ne

3. Naudojant failo pavadinimą

 // Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush); 

Čia

  • sukūrėme spausdinimo rašytoją, kuris įrašys duomenis į nurodytą failą
  • „autoFlush“ yra pasirinktinis loginis parametras, nurodantis, ar atlikti automatinį plovimą, ar ne

Pastaba : Visais aukščiau nurodytais atvejais PrintWriterduomenys įrašomi į failą naudojant numatytąjį simbolių kodavimą. Tačiau galime nurodyti ir simbolių kodavimą ( UTF8 arba UTF16 ).

 // Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs); 

Čia mes naudojome „Charset“ klasę, norėdami nurodyti simbolių kodavimą. Norėdami sužinoti daugiau, apsilankykite „Java Charset“ (oficiali „Java“ dokumentacija).

„PrintWriter“ metodai

PrintWriterKlasė teikia įvairius metodus, kurie leidžia mums spausdinti duomenis prie išėjimo.

spausdinti () metodas

  • print() - spausdina nurodytus duomenis rašytojui
  • println() - spausdina duomenis rašytojui kartu su nauju eilutės simboliu pabaigoje

Pavyzdžiui,

 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(); ) ) ) 

Ankstesniame pavyzdyje mes sukūrėme spausdinimo rašytoją, pavadintą produkcija. Šis spausdinimo rašytojas susietas su failu output.txt .

 PrintWriter output = new PrintWriter("output.txt"); 

Norėdami spausdinti duomenis į failą, mes naudojome print()metodą.

Čia, kai vykdome programą, failas output.txt užpildomas tokiu turiniu.

 This is a text inside the file. 

printf () metodas

printf()Metodas gali būti naudojamas spausdinti suformatuotą eilutę. Jame yra 2 parametrai: suformatuota eilutė ir argumentai. Pavyzdžiui,

 printf("I am %d years old", 25); 

Čia

  • Aš esu %dmetų yra suformatuota eilutė
  • %d yra sveiko skaičiaus duomenys suformatuotoje eilutėje
  • 25 yra argumentas

Suformatuota eilutė apima ir tekstą, ir duomenis. Argumentai pakeičia suformatuotos eilutės duomenis.

Taigi % d pakeičiamas 25 .

Pavyzdys: metodas printf () naudojant PrintWriter

 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(); ) ) ) 

Ankstesniame pavyzdyje mes sukūrėme spausdinimo rašytoją, pavadintą produkcija. Spausdintuvo rašytojas susietas su failu output.txt .

 PrintWriter output = new PrintWriter("output.txt"); 

Norėdami išspausdinti suformatuotą tekstą į failą, naudojome printf()metodą.

Čia, kai vykdome programą, failas output.txt užpildomas tokiu turiniu.

 I am 25 years old. 

Kiti „PrintWriter“ metodai

Metodas apibūdinimas
close() uždaro spaudos rašytojas
checkError() patikrina, ar nėra klaidos rašytuve, ir pateikia loginį rezultatą
append() nurodytus duomenis prideda prie rašytojo

Norėdami sužinoti daugiau, apsilankykite „Java PrintWriter“ (oficiali „Java“ dokumentacija).

Įdomios straipsniai...