I denne veiledningen vil vi lære om Java PrintStream-klassen og dens utskrifts- () og utskriftsmetoder () ved hjelp av eksempler.
Den PrintStream
klasse av java.io
pakken kan bli brukt til å skrive utgangsdataene i felles overlesbar form (tekst) i stedet for byte.
Det utvider den abstrakte klassen OutputStream
.
Arbeid av PrintStream
I motsetning til andre utgangsstrømmer PrintStream
konverterer de primitive dataene (heltall, tegn) til tekstformatet i stedet for byte. Den skriver da formaterte data til utgangsstrømmen.
Og PrintStream
klassen kaster ikke noe input / output unntak. I stedet må vi bruke checkError()
metoden for å finne feil i den.
Merk : PrintStream
Klassen har også en funksjon av automatisk spyling. Dette betyr at det tvinger utgangsstrømmen til å skrive alle dataene til destinasjonen under en av følgende betingelser:
- hvis newline-tegn
er skrevet i utskriftsstrømmen
- hvis
println()
metoden påberopes - hvis en rekke byte er skrevet i utskriftsstrømmen
Lag en PrintStream
For å opprette en PrintStream
, må vi importere java.io.PrintStream
pakken først. Når vi først har importert pakken, kan vi lage utskriftsstrømmen her.
1. Bruke andre utgangsstrømmer
// Creates a FileOutputStream FileOutputStream file = new FileOutputStream(String file); // Creates a PrintStream PrintStream output = new PrintStream(file, autoFlush);
Her,
- Vi har opprettet en utskriftsstrøm som vil skrive formaterte data til filen representert av
FileOutputStream
- autoFlush er en valgfri boolsk parameter som spesifiserer om du skal utføre automatisk spyling eller ikke
2. Bruke filnavn
// Creates a PrintStream PrintStream output = new PrintStream(String file, boolean autoFlush);
Her,
- Vi har opprettet en utskriftsstrøm som vil skrive formaterte data til den angitte filen
- autoFlush er en valgfri boolsk parameter som spesifiserer om autoflush skal utføres eller ikke
Merk : I begge tilfeller, PrintStream
skriv dataene til filen ved hjelp av en standard tegnkoding. Imidlertid kan vi også spesifisere tegnkodingen ( UTF8 eller UTF16 ).
// Creates a PrintStream using some character encoding PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs);
Her har vi brukt Charset
klassen til å spesifisere tegnkodingen. For å lære mer, besøk Java Charset (offisiell Java-dokumentasjon).
Metoder for PrintStream
Den PrintStream
klassen gir ulike metoder som tillater oss å skrive data til utgangen.
print () Metode
print()
- skriver ut de spesifiserte dataene til utgangsstrømmenprintln()
- skriver ut dataene til utgangsstrømmen sammen med et nytt linjetegn på slutten
Eksempel: utskriftsmetode () med systemklasse
class Main ( public static void main(String() args) ( String data = "Hello World."; System.out.print(data); ) )
Produksjon
Hei Verden.
I eksemplet ovenfor har vi ikke opprettet en utskriftsstrøm. Imidlertid kan vi bruke print()
metoden i PrintStream
klassen.
Du lurer kanskje på hvordan dette er mulig. La meg forklare hva som skjer her.
Legg merke til linjen,
System.out.print(data);
Her,
System
er en siste klasse som er ansvarlig for å utføre standard inngang / utgangout
er en klassevariabel avPrintStream
typen deklarert iSystem
klassen
Nå siden den out
er av PrintStream
typen, kan vi bruke den til å kalle alle PrintStream
klassemetodene.
Eksempel: utskriftsmetode () 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(); ) ) )
I eksemplet ovenfor har vi opprettet en utskriftsstrøm med navnet output. Utskriftsstrømmen er koblet til output.txt- filen.
PrintStream output = new PrintStream("output.txt");
For å skrive ut data til filen har vi brukt print()
metoden.
Her, når vi kjører programmet, er output.txt- filen fylt med følgende innhold.
This is a text inside the file.
printf () Metode
Den printf()
Fremgangsmåten kan anvendes til å skrive ut den formaterte strengen. Den inneholder to parametere: formatert streng og argumenter. For eksempel,
printf("I am %d years old", 25);
Her,
- Jeg er% d år gammel er en formatert streng
- % d er heltallsdata i den formaterte strengen
- 25 er et argument
Den formaterte strengen inneholder både tekst og data. Og argumentene erstatter dataene i den formaterte strengen.
Derfor erstattes % d med 25 .
Eksempel: printf () -metode ved bruk av 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 eksemplet ovenfor har vi opprettet en utskriftsstrøm med navnet output. Utskriftsstrømmen er koblet til filen output.txt .
PrintStream output = new PrintStream("output.txt");
For å skrive ut den formaterte teksten til filen, har vi brukt printf()
metoden.
Her, når vi kjører programmet, er output.txt- filen fylt med følgende innhold.
I am 25 years old.
Andre metoder for PrintStream
Metoder | Beskrivelser |
---|---|
close() | lukker utskriftsstrømmen |
checkError() | sjekker om det er en feil i strømmen og returnerer et boolsk resultat |
append() | legger til de angitte dataene i strømmen |
For å lære mer, besøk Java PrintStream (offisiell Java-dokumentasjon).