I denne vejledning lærer vi om Java PrintWriter og dens print () og printf () metoder ved hjælp af eksempler.
Den PrintWriter
klasse af java.io
emballagen kan bruges til at skrive uddata på almindelig læsbar form (tekst).
Det udvider den abstrakte klasse Writer
.
Arbejde med PrintWriter
I modsætning til andre forfattere, PrintWriter
konverterer de primitive data ( int
, float
, char
, etc.) ind i tekstformat. Derefter skriver de formaterede data til forfatteren.
Også den PrintWriter
ikke klasse ikke smide nogen input / output undtagelse. I stedet skal vi bruge checkError()
metoden til at finde en fejl i den.
Bemærk : PrintWriter
Klassen har også en funktion af automatisk skylning. Dette betyder, at det tvinger forfatteren til at skrive alle data til destinationen, hvis en af metoderne println()
eller printf()
kaldes.
Opret en PrintWriter
For at oprette en printforfatter skal vi først importere java.io.PrintWriter
pakken. Når vi først har importeret pakken, kan vi oprette en printerforfatter.
1. Brug af andre forfattere
// Creates a FileWriter FileWriter file = new FileWriter("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Her,
- vi har oprettet en printforfatter, der skriver data til filen repræsenteret af
FileWriter
- autoFlush er en valgfri parameter, der specificerer, om der skal udføres automatisk skylning eller ej
2. Brug af andre outputstrømme
// Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates a PrintWriter PrintWriter output = new PrintWriter(file, autoFlush);
Her,
- vi har oprettet en printforfatter, der skriver data til filen repræsenteret af
FileOutputStream
- autoFlush er en valgfri parameter, der specificerer, om der skal udføres automatisk skylning eller ej
3. Brug af filnavn
// Creates a PrintWriter PrintWriter output = new PrintWriter(String file, boolean autoFlush);
Her,
- Vi har oprettet en printforfatter, der skriver data til den angivne fil
- autoFlush er en valgfri boolesk parameter, der angiver, om der skal udføres automatisk skylning eller ej
Bemærk : I alle ovennævnte tilfælde PrintWriter
skriver dataene til filen ved hjælp af standardtegnkodning. Vi kan dog også specificere tegnkodningen ( UTF8 eller UTF16 ).
// Creates a PrintWriter using some character encoding PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs);
Her har vi brugt Charset-klassen til at specificere tegnkodningen. Hvis du vil vide mere, skal du besøge Java Charset (officiel Java-dokumentation).
Metoder til PrintWriter
Den PrintWriter
klasse giver forskellige metoder, der tillader os at udskrive data til output.
udskriv () Metode
print()
- udskriver de angivne data til forfatterenprintln()
- udskriver dataene til forfatteren sammen med en ny linjekarakter i slutningen
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 ovenstående eksempel har vi oprettet en printforfatter med navnet output. Denne udskrivningsforfatter er knyttet til filen output.txt .
PrintWriter output = new PrintWriter("output.txt");
For at udskrive data til filen har vi brugt print()
metoden.
Her, når vi kører programmet, udfyldes output.txt- filen med følgende indhold.
This is a text inside the file.
printf () Metode
Den printf()
metode kan bruges til at udskrive den formateret streng. Den indeholder to parametre: formateret streng og argumenter. For eksempel,
printf("I am %d years old", 25);
Her,
- Jeg er
%d
år gammel er en formateret streng %d
er heltalsdata i den formaterede streng- 25 er et argument
Den formaterede streng inkluderer både tekst og data. Og argumenterne erstatter dataene i den formaterede streng.
Derfor erstattes % d med 25 .
Eksempel: printf () Metode ved hjælp af 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 ovenstående eksempel har vi oprettet en printforfatter med navnet output. Printforfatteren er knyttet til filen output.txt .
PrintWriter output = new PrintWriter("output.txt");
For at udskrive den formaterede tekst til filen har vi brugt printf()
metoden.
Her, når vi kører programmet, udfyldes output.txt- filen med følgende indhold.
I am 25 years old.
Andre metoder til PrintWriter
Metode | Beskrivelse |
---|---|
close() | lukker printerforfatteren |
checkError() | kontrollerer, om der er en fejl i forfatteren, og returnerer et boolesk resultat |
append() | tilføjer de angivne data til forfatteren |
For at lære mere, besøg Java PrintWriter (officiel Java-dokumentation).