Java PrintWriter (med eksempler)

I denne opplæringen vil vi lære om Java PrintWriter og dens print () og printf () metoder ved hjelp av eksempler.

Den PrintWriterklasse av java.iopakken 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, PrintWriteromformer de primitive data ( int, float, char, etc.) inn i tekstformat. Deretter skriver de formaterte dataene til forfatteren.

Også PrintWritergjør klassen ikke kaste noen input / output unntak. I stedet må vi bruke checkError()metoden for å finne feil i den.

Merk : PrintWriterKlassen 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.PrintWriterpakken. 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 PrintWriterskriver 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 PrintWriterklassen gir ulike metoder som tillater oss å skrive data til utgangen.

print () Metode

  • print() - skriver ut de spesifiserte dataene til forfatteren
  • println() - 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).

Interessante artikler...