Šajā apmācībā mēs ar piemēru palīdzību uzzināsim par Java PrintWriter un tā metodēm print () un printf ().
PrintWriter
No klases java.io
paketē 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, PrintWriter
konvertē primitīvas dati ( int
, float
, char
uc) uz teksta formātā. Pēc tam tā raksta rakstniekam šos formatētos datus.
Arī PrintWriter
klase neizmet nevienu ievades / izvades izņēmumu. Tā vietā mums ir jāizmanto checkError()
metode, lai tajā atrastu kļūdas.
Piezīme : PrintWriter
Klasei 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.PrintWriter
pakete. 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 PrintWriter
dati 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
PrintWriter
Klase nodrošina dažādas metodes, kas ļauj mums, lai drukātu datus izejas.
print () metode
print()
- izdrukā rakstniekam norādītos datusprintln()
- 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
%d
gadu 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).