I denne vejledning lærer vi om Java PrintStream-klassen og dens print () og printf () metoder ved hjælp af eksempler.
Den PrintStreamklasse af java.ioemballagen kan bruges til at skrive output data i almindeligt læsbar form (tekst) i stedet for byte.
Det udvider den abstrakte klasse OutputStream.

Arbejde med PrintStream
I modsætning til andre outputstrømme PrintStreamkonverterer de primitive data (heltal, tegn) til tekstformatet i stedet for byte. Derefter skriver de formaterede data til outputstrømmen.
Og PrintStreamklassen kaster heller ikke nogen input / output-undtagelse. I stedet skal vi bruge checkError()metoden til at finde en fejl i den.
Bemærk : PrintStreamKlassen har også en funktion af automatisk skylning. Dette betyder, at det tvinger outputstrømmen til at skrive alle data til destinationen under en af følgende betingelser:
- hvis newline-tegn 
er skrevet i udskrivningsstrømmen - hvis 
println()metoden påberåbes - hvis en række bytes er skrevet i udskrivningsstrømmen
 
Opret en PrintStream
For at oprette en PrintStreamskal vi først importere java.io.PrintStreampakken. Når vi først har importeret pakken, kan vi oprette udskrivningsstrømmen her.
1. Brug af andre outputstrømme
 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush); 
Her,
- Vi har oprettet en udskrivningsstrøm, der skriver formaterede data til filen repræsenteret af 
FileOutputStream - autoFlush er en valgfri boolesk parameter, der angiver, om der skal udføres automatisk skylning eller ej
 
2. Brug af filnavn
  // Creates a PrintStream PrintStream output = new PrintStream(String file, boolean autoFlush); 
Her,
- Vi har oprettet en udskrivningsstrøm, der skriver formaterede data til den angivne fil
 - autoFlush er en valgfri boolesk parameter, der specificerer, om der skal udføres autoflush eller ej
 
Bemærk : I begge tilfælde PrintStreamskriver dataene til filen ved hjælp af en standardkarakterkodning. Vi kan dog også specificere tegnkodningen ( UTF8 eller UTF16 ).
 // Creates a PrintStream using some character encoding PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs); 
Her har vi brugt Charsetklassen til at specificere tegnkodningen. For at lære mere, besøg Java Charset (officiel Java-dokumentation).
Metoder til PrintStream
Den PrintStreamklasse giver forskellige metoder, der tillader os at udskrive data til output.
udskriv () Metode
print()- udskriver de specificerede data til outputstrømmenprintln()- udskriver dataene til outputstrømmen sammen med et nyt linjetegn i slutningen
Eksempel: udskrivningsmetode () med systemklasse
 class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) ) 
Produktion
Hej Verden.
I eksemplet ovenfor har vi ikke oprettet en udskrivningsstrøm. Vi kan dog bruge print()metoden i PrintStreamklassen.
Du undrer dig måske over, hvordan det er muligt. Lad mig forklare, hvad der sker her.
Bemærk linjen,
 System.out.print(data); 
Her,
Systemer en sidste klasse, der er ansvarlig for at udføre standard input / output-operationouter en klassevariabel afPrintStreamtypen, der er angivet iSystemklassen
Nu da det outer af PrintStreamtype, kan vi bruge det til at kalde alle metoderne i PrintStreamklassen.
Eksempel: udskrivningsmetode () med PrintStream-klassen
 import java.io.PrintStream; class Main ( public static void main(String() args) ( String data = "This is a text inside the file."; try ( PrintStream output = new PrintStream("output.txt"); output.print(data); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 
In the above example, we have created a print stream named output. The print stream is linked with the output.txt file.
 PrintStream output = new PrintStream("output.txt"); 
To print data to the file, we have used the print() method.
Here, when we run the program, the output.txt file is filled with the following content.
 This is a text inside the file. 
printf() Method
The printf() method can be used to print the formatted string. It includes 2 parameters: formatted string and arguments. For example,
 printf("I am %d years old", 25); 
Here,
- I am %d years old is a formatted string
 - %d is integer data in the formatted string
 - 25 is an argument
 
The formatted string includes both text and data. And, the arguments replace the data inside the formatted string.
Hence the %d is replaced by 25.
Example: printf() method using PrintStream
 import java.io.PrintStream; class Main ( public static void main(String() args) ( try ( PrintStream output = new PrintStream("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 udskrivningsstrøm med navnet output. Udskrivningsstrømmen er knyttet til filen output.txt .
 PrintStream output = new PrintStream("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 PrintStream
| Metoder | Beskrivelser | 
|---|---|
close() |  lukker udskrivningsstrømmen | 
checkError() |  kontrollerer, om der er en fejl i strømmen, og returnerer et boolesk resultat | 
append() |  tilføjer de angivne data til strømmen | 
For at lære mere, besøg Java PrintStream (officiel Java-dokumentation).








