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).








