Java PrintStream (med eksempler)

I denne veiledningen vil vi lære om Java PrintStream-klassen og dens utskrifts- () og utskriftsmetoder () ved hjelp av eksempler.

Den PrintStreamklasse av java.iopakken 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 PrintStreamkonverterer de primitive dataene (heltall, tegn) til tekstformatet i stedet for byte. Den skriver da formaterte data til utgangsstrømmen.

Og PrintStreamklassen kaster ikke noe input / output unntak. I stedet må vi bruke checkError()metoden for å finne feil i den.

Merk : PrintStreamKlassen 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.PrintStreampakken 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, PrintStreamskriv 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 Charsetklassen til å spesifisere tegnkodingen. For å lære mer, besøk Java Charset (offisiell Java-dokumentasjon).

Metoder for PrintStream

Den PrintStreamklassen gir ulike metoder som tillater oss å skrive data til utgangen.

print () Metode

  • print() - skriver ut de spesifiserte dataene til utgangsstrømmen
  • println() - 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 PrintStreamklassen.

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 / utgang
  • outer en klassevariabel av PrintStreamtypen deklarert i Systemklassen

Nå siden den outer av PrintStreamtypen, kan vi bruke den til å kalle alle PrintStreamklassemetodene.

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

Interessante artikler...