V tomto tutoriále sa pomocou príkladov dozvieme o prostredí Java ByteArrayOutputStream a jeho metódach.
ByteArrayOutputStream
Trieda java.io
balenie možno použiť na zápis poľa výstupných dát (v bajtoch).
Rozširuje OutputStream
abstraktnú triedu.
Poznámka : In ByteArrayOutputStream
udrž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.ByteArrayOutputStream
balí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
ByteArrayOutputStream
Trieda poskytuje vykonávanie rôznych metód prítomných vo OutputStream
triede.
metóda write ()
write(int byte)
- zapíše zadaný bajt do výstupného tokuwrite(byte() array)
- zapisuje bajty zo zadaného poľa do výstupného tokuwrite(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 polohywriteTo(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údetoString()
- 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).