Java PrintWriter (med eksempler)

I denne vejledning lærer vi om Java PrintWriter og dens print () og printf () metoder ved hjælp af eksempler.

Den PrintWriterklasse af java.ioemballagen 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, PrintWriterkonverterer de primitive data ( int, float, char, etc.) ind i tekstformat. Derefter skriver de formaterede data til forfatteren.

Også den PrintWriterikke klasse ikke smide nogen input / output undtagelse. I stedet skal vi bruge checkError()metoden til at finde en fejl i den.

Bemærk : PrintWriterKlassen 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.PrintWriterpakken. 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 PrintWriterskriver 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 PrintWriterklasse giver forskellige metoder, der tillader os at udskrive data til output.

udskriv () Metode

  • print() - udskriver de angivne data til forfatteren
  • println() - 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).

Interessante artikler...