Java PrintStream (med exempel)

I denna handledning lär vi oss om Java PrintStream-klassen och dess utskrifts- () och utskriftsmetoder () med hjälp av exempel.

Paketets PrintStreamklass java.iokan användas för att skriva utdata i vanligt läsbar form (text) istället för byte.

Det utvidgar den abstrakta klassen OutputStream.

Arbeta med PrintStream

Till skillnad från andra utgångsströmmar PrintStreamkonverterar primitiva data (heltal, tecken) till textformatet istället för byte. Det skriver sedan den formaterade data till utdataströmmen.

Och PrintStreamklassen kastar inte något ingångs- / utgångsundantag. Istället måste vi använda checkError()metoden för att hitta eventuella fel i den.

Obs : I PrintStreamklassen har också en funktion av auto spolning. Detta betyder att den tvingar utströmmen att skriva all data till destinationen under ett av följande villkor:

  • om newline-tecken skrivs i utskriftsströmmen
  • om println()metoden åberopas
  • om en matris med byte skrivs i utskriftsströmmen

Skapa en PrintStream

För att skapa ett PrintStreammåste vi först importera java.io.PrintStreampaketet. När vi väl har importerat paketet här kan vi skapa tryckströmmen.

1. Använda andra utgångsströmmar

 // Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush); 

Här,

  • Vi har skapat en utskriftsström som skriver formaterad data till filen som representeras av FileOutputStream
  • autoFlush är en valfri boolesk parameter som anger om automatisk spolning ska utföras eller inte

2. Använda filnamn

  // Creates a PrintStream PrintStream output = new PrintStream(String file, boolean autoFlush); 

Här,

  • Vi har skapat en utskriftsström som skriver formaterad data till den angivna filen
  • autoFlush är en valfri boolesk parameter som anger om autoflush ska utföras eller inte

Obs! I båda fallen PrintStreamskrivs data till filen med hjälp av standardteckenkodning. Vi kan dock också ange teckenkodning ( UTF8 eller UTF16 ).

 // Creates a PrintStream using some character encoding PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs); 

Här har vi använt Charsetklassen för att specificera teckenkodningen. För mer information, besök Java Charset (officiell Java-dokumentation).

Metoder för PrintStream

I PrintStreamklassen tillhandahåller olika metoder som tillåter oss att skriva ut data till utgången.

print () Metod

  • print() - skriver ut den angivna data till utdataströmmen
  • println() - skriver ut data till utgångsströmmen tillsammans med en ny rad i slutet

Exempel: utskriftsmetod () med systemklass

 class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) ) 

Produktion

 Hej världen. 

I exemplet ovan har vi inte skapat en utskriftsström. Vi kan dock använda klassens print()metod PrintStream.

Du kanske undrar hur det är möjligt. Låt mig förklara vad som händer här.

Lägg märke till raden,

 System.out.print(data); 

Här,

  • System är en slutklass som ansvarar för att utföra standardinmatnings- / utmatningsoperationer
  • outär en klassvariabel av PrintStreamtypen som deklarerats i Systemklassen

Nu eftersom det outär av PrintStreamtyp kan vi använda det för att anropa alla PrintStreamklassens metoder .

Exempel: utskriftsmetod () med PrintStream-klass

 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(); ) ) ) 

I exemplet ovan har vi skapat en utskriftsström med namnet output. Utskriftsströmmen är länkad till filen output.txt .

 PrintStream output = new PrintStream("output.txt"); 

För att skriva ut data till filen har vi använt print()metoden.

Här, när vi kör programmet, fylls output.txt- filen med följande innehåll.

 This is a text inside the file. 

printf () Metod

Den printf()metoden kan användas för att skriva ut den formaterade strängen. Den innehåller två parametrar: formaterad sträng och argument. Till exempel,

 printf("I am %d years old", 25); 

Här,

  • Jag är% d år gammal är en formaterad sträng
  • % d är heltalsdata i den formaterade strängen
  • 25 är ett argument

Den formaterade strängen innehåller både text och data. Och argumenten ersätter data i den formaterade strängen.

Därför ersätts % d med 25 .

Exempel: printf () -metod med 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 exemplet ovan har vi skapat en utskriftsström med namnet output. Utskriftsströmmen är länkad till filen output.txt .

 PrintStream output = new PrintStream("output.txt"); 

För att skriva ut den formaterade texten till filen har vi använt printf()metoden.

Här, när vi kör programmet, fylls output.txt- filen med följande innehåll.

 I am 25 years old. 

Andra metoder för PrintStream

Metoder Beskrivningar
close() stänger utskriftsströmmen
checkError() kontrollerar om det finns ett fel i strömmen och returnerar ett booleskt resultat
append() bifogar de angivna uppgifterna till strömmen

För mer information, besök Java PrintStream (officiell Java-dokumentation).

Intressanta artiklar...