Tässä opetusohjelmassa opitaan Java ByteArrayOutputStreamista ja sen menetelmistä esimerkkien avulla.
ByteArrayOutputStream
Luokan java.io
paketti voidaan käyttää kirjoittaa joukko lähtödatan (tavuina).
Se laajentaa OutputStream
abstraktia luokkaa.
Huomautus : ByteArrayOutputStream
Sisältää sisäisen tavujärjestelmän tietojen tallentamiseksi.
Luo ByteArrayOutputStream
Tavuistaulukon lähtövirran luomiseksi meidän on java.io.ByteArrayOutputStream
ensin 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
ByteArrayOutputStream
Luokka antaa täytäntöönpanoa eri menetelmiä läsnä OutputStream
luokassa.
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).