Java PrintStream (med eksempler)

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ømmen
  • println() - 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,

  • System er en sidste klasse, der er ansvarlig for at udføre standard input / output-operation
  • outer en klassevariabel af PrintStreamtypen, der er angivet i Systemklassen

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

Interessante artikler...