Java ByteArrayOutputStream (esimerkkien kanssa)

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 ulostulovirtaan
  • write(byte() array) - kirjoittaa tavut määritetystä taulukosta lähtövirtaan
  • write(byte() arr, int start, int length) - kirjoittaa tavujen määrän, joka on yhtä suuri kuin lähtövirran matriisista lähtöpaikan alusta alkaen
  • writeTo(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 taulukon
  • toString() - 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).

Mielenkiintoisia artikkeleita...