I denne opplæringen vil vi lære om Java PrintWriter og dens print () og printf () metoder ved hjelp av eksempler.
Den PrintWriter
klasse av java.io
pakken kan bli brukt til å skrive utgangsdata i en vanlig lesbar form (tekst).
Det utvider den abstrakte klassen Writer
.
Arbeid med PrintWriter
I motsetning til andre forfattere, PrintWriter
omformer de primitive data ( int
, float
, char
, etc.) inn i tekstformat. Deretter skriver de formaterte dataene til forfatteren.
Også PrintWriter
gjør klassen ikke kaste noen input / output unntak. I stedet må vi bruke checkError()
metoden for å finne feil i den.
Merk : PrintWriter
Klassen har også en funksjon av automatisk spyling. Dette betyr at det tvinger forfatteren til å skrive alle data til destinasjonen hvis en av metodene println()
eller printf()
kalles.
Lag en PrintWriter
For å opprette en forfatter, må vi først importere java.io.PrintWriter
pakken. Når vi først har importert pakken, kan vi opprette skriveren.
1. Bruke andre forfattere
// Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Her,
- Vi har opprettet en utskriftsforfatter som vil skrive data til filen representert av
FileWriter
- autoFlush er en valgfri parameter som spesifiserer om du skal utføre automatisk spyling eller ikke
2. Bruke andre utgangsstrømmer
// Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Her,
- Vi har opprettet en utskriftsforfatter som vil skrive data til filen representert av
FileOutputStream
- autoFlush er en valgfri parameter som spesifiserer om du skal utføre automatisk spyling eller ikke
3. Bruke filnavn
// Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush);
Her,
- Vi har opprettet en utskriftsforfatter som vil skrive data til den angitte filen
- autoFlush er en valgfri boolsk parameter som spesifiserer om du skal utføre automatisk spyling eller heller
Merk : I alle de ovennevnte tilfellene PrintWriter
skriver dataene til filen ved hjelp av en standard tegnkoding. Imidlertid kan vi også spesifisere tegnkodingen ( UTF8 eller UTF16 ).
// Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs);
Her har vi brukt Charset-klassen til å spesifisere tegnkodingen. For å vite mer, besøk Java Charset (offisiell Java-dokumentasjon).
Metoder for PrintWriter
Den PrintWriter
klassen gir ulike metoder som tillater oss å skrive data til utgangen.
print () Metode
print()
- skriver ut de spesifiserte dataene til forfatterenprintln()
- skriver ut dataene til forfatteren sammen med et nytt strektegn på slutten
For eksempel,
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(); ) ) )
I eksemplet ovenfor har vi opprettet en forfatter som heter output. Denne utskriftsforfatteren er koblet til filen output.txt .
PrintWriter output = new PrintWriter("output.txt");
For å skrive ut data til filen har vi brukt print()
metoden.
Når vi kjører programmet, blir output.txt- filen fylt med følgende innhold.
This is a text inside the file.
printf () Metode
Den printf()
Fremgangsmåten kan anvendes til å skrive ut den formaterte strengen. Den inneholder to parametere: formatert streng og argumenter. For eksempel,
printf("I am %d years old", 25);
Her,
- Jeg er
%d
år gammel er en formatert streng %d
er heltallsdata i den formaterte strengen- 25 er et argument
Den formaterte strengen inneholder både tekst og data. Og argumentene erstatter dataene i den formaterte strengen.
Derfor erstattes % d med 25 .
Eksempel: printf () Metode ved bruk av 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(); ) ) )
I eksemplet ovenfor har vi opprettet en forfatter som heter output. Utskriftsforfatteren er koblet til filen output.txt .
PrintWriter output = new PrintWriter("output.txt");
For å skrive ut den formaterte teksten til filen, har vi brukt printf()
metoden.
Når vi kjører programmet, blir output.txt- filen fylt med følgende innhold.
I am 25 years old.
Andre metoder for skrivemaskin
Metode | Beskrivelse |
---|---|
close() | lukker forfatteren |
checkError() | sjekker om det er en feil i forfatteren og returnerer et boolsk resultat |
append() | legger de spesifiserte dataene til forfatteren |
For å lære mer, besøk Java PrintWriter (offisiell Java-dokumentasjon).