Java PrintStream (ar piemēriem)

Šajā apmācībā mēs ar piemēru palīdzību uzzināsim par Java PrintStream klasi un tās print () un printf () metodēm.

PrintStreamNo klases java.iopaketē var izmantot, lai rakstītu izejas dati parasti lasāmā formā (teksts), nevis baitu.

Tas paplašina abstrakto klasi OutputStream.

PrintStream darbs

Atšķirībā no citām izvades straumēm PrintStreamprimitīvos datus (veselu skaitli, rakstzīmi) baitu vietā pārveido teksta formātā. Pēc tam tā raksta šos formatētos datus izejas plūsmā.

Un arī PrintStreamklase neizmet nevienu ievades / izvades izņēmumu. Tā vietā mums ir jāizmanto checkError()metode, lai tajā atrastu kļūdas.

Piezīme : PrintStreamKlasei ir arī automātiskās skalošanas funkcija. Tas nozīmē, ka tas izejas straumei liek ierakstīt visus datus galamērķim ar vienu no šiem nosacījumiem:

  • ja drukas straumē ir ierakstīts jaunrindas raksturs
  • ja println()tiek izmantota metode
  • ja drukas straumē ir ierakstīts baitu masīvs

Izveidojiet PrintStream

Lai izveidotu a PrintStream, mums vispirms ir jāimportē java.io.PrintStreampakete. Kad mēs importēsim pakotni, mēs varēsim izveidot drukas straumi.

1. Citu izvades plūsmu izmantošana

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

Šeit,

  • mēs esam izveidojuši drukas straumi, kas formatētos datus ierakstīs failā, kuru pārstāv FileOutputStream
  • autoFlush ir papildu būla parametrs, kas norāda, vai veikt automātisko skalošanu

2. Faila nosaukuma izmantošana

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

Šeit,

  • mēs esam izveidojuši drukas straumi, kas formatētos datus ierakstīs norādītajā failā
  • autoFlush ir izvēles būla parametrs, kas norāda, vai veikt automātisko skalošanu

Piezīme : Abos gadījumos PrintStreamdatus rakstiet failā, izmantojot kādu noklusējuma rakstzīmju kodējumu. Tomēr mēs varam norādīt arī rakstzīmju kodējumu ( UTF8 vai UTF16 ).

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

Šeit mēs izmantojām Charsetklasi, lai norādītu rakstzīmju kodējumu. Lai uzzinātu vairāk, apmeklējiet Java Charset (oficiālā Java dokumentācija).

PrintStream metodes

PrintStreamKlase nodrošina dažādas metodes, kas ļauj mums, lai drukātu datus izejas.

print () metode

  • print() - izdrukā norādītos datus izejas straumē
  • println() - izdrukā datus izejas straumē kopā ar jaunu līnijas rakstzīmi beigās

Piemērs: metode print () ar sistēmas klasi

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

Rezultāts

 Sveika pasaule. 

Iepriekš minētajā piemērā mēs neesam izveidojuši drukas straumi. Tomēr mēs varam izmantot klases print()metodi PrintStream.

Jums varētu būt jautājums, kā tas ir iespējams. Nu, ļaujiet man paskaidrot, kas šeit notiek.

Ievērojiet līniju,

 System.out.print(data); 

Šeit,

  • System ir pēdējā klase, kas ir atbildīga par standarta ievades / izvades darbību veikšanu
  • outir klases mainīgais, kas PrintStreamdeklarēts Systemklasē

Tā kā outtas ir PrintStreamtipa, mēs varam to izmantot, lai izsauktu visas PrintStreamklases metodes .

Piemērs: metode print () ar klasi PrintStream

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

Iepriekš minētajā piemērā mēs esam izveidojuši drukas straumi ar nosaukumu output. Drukas straume ir saistīta ar failu output.txt .

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

Lai drukātu datus failā, mēs izmantojām print()metodi.

Šeit, palaižot programmu, fails output.txt tiek aizpildīts ar šādu saturu.

 This is a text inside the file. 

printf () metode

printf()Metodi var izmantot, lai drukātu formatētu virkni. Tas ietver 2 parametrus: formatētu virkni un argumentus. Piemēram,

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

Šeit,

  • Es esmu% d gadus vecs, ir formatēta virkne
  • % d ir veseli skaitļi dati formatētajā virknē
  • 25 ir arguments

Formatētā virkne ietver gan tekstu, gan datus. Argumenti aizstāj datus formatētajā virknē.

Tādējādi % d tiek aizstāts ar 25 .

Piemērs: metode printf (), izmantojot 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(); ) ) ) 

Iepriekš minētajā piemērā mēs esam izveidojuši drukas straumi ar nosaukumu output. Drukas straume ir saistīta ar failu output.txt .

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

Lai drukātu failā formatēto tekstu, mēs izmantojām printf()metodi.

Šeit, palaižot programmu, fails output.txt tiek aizpildīts ar šādu saturu.

 I am 25 years old. 

Citas PrintStream metodes

Metodes Apraksti
close() aizver drukas straumi
checkError() pārbauda, ​​vai straumē ir kļūda, un atgriež būla rezultātu
append() pievieno straumei norādītos datus

Lai uzzinātu vairāk, apmeklējiet Java PrintStream (oficiālā Java dokumentācija).

Interesanti raksti...