Java ByteArrayOutputStream (s príkladmi)

V tomto tutoriále sa pomocou príkladov dozvieme o prostredí Java ByteArrayOutputStream a jeho metódach.

ByteArrayOutputStreamTrieda java.iobalenie možno použiť na zápis poľa výstupných dát (v bajtoch).

Rozširuje OutputStreamabstraktnú triedu.

Poznámka : In ByteArrayOutputStreamudržuje interné pole bajtov na ukladanie údajov.

Vytvorte ByteArrayOutputStream

Aby sme mohli vytvoriť výstupný prúd bajtového poľa, musíme najskôr importovať java.io.ByteArrayOutputStreambalík. Po importovaní balíka môžeme vytvoriť výstupný prúd.

 // Creates a ByteArrayOutputStream with default size ByteArrayOutputStream out = new ByteArrayOutputStream(); 

Tu sme vytvorili výstupný prúd, ktorý bude zapisovať údaje do poľa bajtov s predvolenou veľkosťou 32 bajtov. Môžeme však zmeniť predvolenú veľkosť poľa.

 // Creating a ByteArrayOutputStream with specified size ByteArrayOutputStream out = new ByteArrayOutputStream(int size); 

Tu veľkosť určuje dĺžku poľa.

Metódy ByteArrayOutputStream

ByteArrayOutputStreamTrieda poskytuje vykonávanie rôznych metód prítomných vo OutputStreamtriede.

metóda write ()

  • write(int byte) - zapíše zadaný bajt do výstupného toku
  • write(byte() array) - zapisuje bajty zo zadaného poľa do výstupného toku
  • write(byte() arr, int start, int length) - zapíše počet bajtov rovných dĺžke do výstupného toku z poľa počnúc od začiatku polohy
  • writeTo(ByteArrayOutputStream out1) - zapíše všetky údaje aktuálneho výstupného toku do zadaného výstupného toku

Príklad: ByteArrayOutputStream na zápis údajov

 import java.io.ByteArrayOutputStream; class Main ( public static void main(String() args) ( String data = "This is a line of text inside the string."; try ( // Creates an output stream ByteArrayOutputStream out = new ByteArrayOutputStream(); byte() array = data.getBytes(); // Writes data to the output stream out.write(array); // Retrieves data from the output stream in string format String streamData = out.toString(); System.out.println("Output stream: " + streamData); out.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Výkon

 Výstupný prúd: Toto je riadok textu vo vnútri reťazca. 

Vo vyššie uvedenom príklade sme vytvorili výstupný prúd bajtového poľa s názvom výstup.

 ByteArrayOutputStream output = new ByteArrayOutputStream(); 

Na zápis údajov do výstupného toku sme použili write()metódu.

Poznámka : getBytes()Metóda použitá v programe prevádza reťazec na pole bajtov.

Prístup k dátam z ByteArrayOutputStream

  • toByteArray() - vráti pole prítomné vo výstupnom prúde
  • toString() - vráti všetky údaje výstupného toku v podobe reťazca

Napríklad,

 import java.io.ByteArrayOutputStream; class Main ( public static void main(String() args) ( String data = "This is data."; try ( // Creates an output stream ByteArrayOutputStream out = new ByteArrayOutputStream(); // Writes data to the output stream out.write(data.getBytes()); // Returns an array of bytes byte() byteData = out.toByteArray(); System.out.print("Data using toByteArray(): "); for(int i=0; i 

Output

 Data using toByteArray(): This is data. Data using toString(): This is data. 

In the above example, we have created an array of bytes to store the data returned by the toByteArray() method.

We then have used the for loop to access each byte from the array. Here, each byte is converted into the corresponding character using typecasting.

close() Method

To close the output stream, we can use the close() method.

However, the close() method has no effect in ByteArrayOutputStream class. We can use the methods of this class even after the close() method is called.

Other Methods of ByteArrayOutputStream

Metódy Popisy
size() vráti veľkosť poľa vo výstupnom prúde
flush() vymaže výstupný prúd

To learn more, visit Java ByteArrayOutputStream (official Java documentation).

Zaujímavé články...