I denna handledning lär vi oss om Java PrintStream-klassen och dess utskrifts- () och utskriftsmetoder () med hjälp av exempel.
Paketets PrintStream
klass java.io
kan 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 PrintStream
konverterar primitiva data (heltal, tecken) till textformatet istället för byte. Det skriver sedan den formaterade data till utdataströmmen.
Och PrintStream
klassen 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 PrintStream
klassen 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 PrintStream
måste vi först importera java.io.PrintStream
paketet. 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 PrintStream
skrivs 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 Charset
klassen för att specificera teckenkodningen. För mer information, besök Java Charset (officiell Java-dokumentation).
Metoder för PrintStream
I PrintStream
klassen 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ömmenprintln()
- 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- / utmatningsoperationerout
är en klassvariabel avPrintStream
typen som deklarerats iSystem
klassen
Nu eftersom det out
är av PrintStream
typ kan vi använda det för att anropa alla PrintStream
klassens 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).