Java PrintWriter (ar piemēriem)

Šajā apmācībā mēs ar piemēru palīdzību uzzināsim par Java PrintWriter un tā metodēm print () un printf ().

PrintWriterNo klases java.iopaketē var izmantot, lai rakstītu izejas datus parasti lasāmā formā (teksts).

Tas paplašina abstrakto klasi Writer.

PrintWriter darbs

Atšķirībā no citiem rakstniekiem, PrintWriterkonvertē primitīvas dati ( int, float, charuc) uz teksta formātā. Pēc tam tā raksta rakstniekam šos formatētos datus.

Arī PrintWriterklase neizmet nevienu ievades / izvades izņēmumu. Tā vietā mums ir jāizmanto checkError()metode, lai tajā atrastu kļūdas.

Piezīme : PrintWriterKlasei ir arī automātiskās skalošanas funkcija. Tas nozīmē, ka tas liek rakstītājam visus datus ierakstīt adresātā, ja tiek izsaukta kāda no metodēm println()vai printf().

Izveidojiet PrintWriter

Lai izveidotu drukas rakstītāju, mums vispirms jāimportē java.io.PrintWriterpakete. Kad mēs importēsim pakotni, mēs varēsim izveidot drukas rakstītāju.

1. Citu rakstnieku izmantošana

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

Šeit,

  • mēs esam izveidojuši drukas rakstītāju, kas ierakstīs datus failā, kuru attēlo FileWriter
  • autoFlush ir izvēles parametrs, kas norāda, vai veikt automātisko skalošanu

2. Citu izvades plūsmu izmantošana

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

Šeit,

  • mēs esam izveidojuši drukas rakstītāju, kas ierakstīs datus failā, kuru attēlo FileOutputStream
  • autoFlush ir izvēles parametrs, kas norāda, vai veikt automātisko skalošanu

3. Faila nosaukuma izmantošana

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

Šeit,

  • mēs esam izveidojuši drukas rakstītāju, kas ierakstīs datus norādītajā failā
  • autoFlush ir izvēles būla parametrs, kas norāda, vai veikt automātisko skalošanu vai nē

Piezīme . Visos iepriekš minētajos gadījumos PrintWriterdati tiek ierakstīti failā, izmantojot kādu noklusējuma rakstzīmju kodējumu. Tomēr mēs varam norādīt arī rakstzīmju kodējumu ( UTF8 vai UTF16 ).

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

Šeit mēs izmantojām klasi Charset, lai norādītu rakstzīmju kodējumu. Lai uzzinātu vairāk, apmeklējiet Java Charset (oficiālā Java dokumentācija).

PrintWriter metodes

PrintWriterKlase nodrošina dažādas metodes, kas ļauj mums, lai drukātu datus izejas.

print () metode

  • print() - izdrukā rakstniekam norādītos datus
  • println() - izdrukā datus rakstniekam kopā ar jaunu līnijas rakstzīmi beigās

Piemēram,

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

Iepriekš minētajā piemērā mēs esam izveidojuši drukas rakstītāju ar nosaukumu output. Šis drukas rakstītājs ir saistīts ar failu output.txt .

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

Lai drukātu datus failā, mēs izmantojām print()metodi.

Šeit, palaižot programmu, fails output.txt tiek aizpildīts ar šādu saturu.

 This is a text inside the file. 

printf () metode

printf()Metodi var izmantot, lai drukātu formatētu virkni. Tas ietver 2 parametrus: formatētu virkni un argumentus. Piemēram,

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

Šeit,

  • Es esmu %dgadu vecs, ir formatēta virkne
  • %d ir vesels skaitlis dati formatētajā virknē
  • 25 ir arguments

Formatētā virkne ietver gan tekstu, gan datus. Argumenti aizstāj datus formatētajā virknē.

Tādējādi % d tiek aizstāts ar 25 .

Piemērs: metode printf (), izmantojot programmu 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(); ) ) ) 

Iepriekš minētajā piemērā mēs esam izveidojuši drukas rakstītāju ar nosaukumu output. Drukas rakstītājs ir saistīts ar failu output.txt .

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

Lai drukātu failā formatēto tekstu, mēs izmantojām printf()metodi.

Šeit, palaižot programmu, fails output.txt tiek aizpildīts ar šādu saturu.

 I am 25 years old. 

Citas PrintWriter metodes

Metode Apraksts
close() aizver drukas rakstnieks
checkError() pārbauda, ​​vai rakstītājā nav kļūdas, un atgriež būla rezultātu
append() pievieno rakstniekam norādītos datus

Lai uzzinātu vairāk, apmeklējiet Java PrintWriter (oficiālā Java dokumentācija).

Interesanti raksti...