Tässä opetusohjelmassa opitaan Java ByteArrayOutputStreamista ja sen menetelmistä esimerkkien avulla.
ByteArrayOutputStreamLuokan java.iopaketti voidaan käyttää kirjoittaa joukko lähtödatan (tavuina).
Se laajentaa OutputStreamabstraktia luokkaa.

Huomautus : ByteArrayOutputStreamSisältää sisäisen tavujärjestelmän tietojen tallentamiseksi.
Luo ByteArrayOutputStream
Tavuistaulukon lähtövirran luomiseksi meidän on java.io.ByteArrayOutputStreamensin tuotava paketti. Kun tuot paketin, voimme luoda tulosvirran seuraavasti.
// Creates a ByteArrayOutputStream with default size ByteArrayOutputStream out = new ByteArrayOutputStream();
Tässä olemme luoneet lähtövirran, joka kirjoittaa tietoja tavujoukkoihin, joiden oletuskoko on 32 tavua. Voimme kuitenkin muuttaa taulukon oletuskokoa.
// Creating a ByteArrayOutputStream with specified size ByteArrayOutputStream out = new ByteArrayOutputStream(int size);
Tässä koko määrittää matriisin pituuden.
ByteArrayOutputStream-menetelmät
ByteArrayOutputStreamLuokka antaa täytäntöönpanoa eri menetelmiä läsnä OutputStreamluokassa.
write () -menetelmä
write(int byte)- kirjoittaa määritetyn tavun ulostulovirtaanwrite(byte() array)- kirjoittaa tavut määritetystä taulukosta lähtövirtaanwrite(byte() arr, int start, int length)- kirjoittaa tavujen määrän, joka on yhtä suuri kuin lähtövirran matriisista lähtöpaikan alusta alkaenwriteTo(ByteArrayOutputStream out1)- kirjoittaa nykyisen lähtövirran koko datan määritettyyn lähtövirtaan
Esimerkki: ByteArrayOutputStream tietojen kirjoittamiseen
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(); ) ) )
Tuotos
Lähtövirta: Tämä on tekstirivi merkkijonon sisällä.
Yllä olevassa esimerkissä olemme luoneet tavutaulukon lähtövirran nimeltään output.
ByteArrayOutputStream output = new ByteArrayOutputStream();
Tietojen kirjoittamiseksi lähtövirtaan olemme käyttäneet write()menetelmää.
Huomaa : Ohjelmassa getBytes()käytetty menetelmä muuntaa merkkijonon tavujoukoksi.
Käytä tietoja ByteArrayOutputStreamista
toByteArray()- palauttaa lähtövirran sisällä olevan taulukontoString()- palauttaa koko lähtövirran tiedot merkkijonona
Esimerkiksi,
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
| Menetelmät | Kuvaukset |
|---|---|
size() | palauttaa lähtövirran taulukon koon |
flush() | tyhjentää lähtövirran |
To learn more, visit Java ByteArrayOutputStream (official Java documentation).








