„Java ByteArrayOutputStream“ (su pavyzdžiais)

Šioje pamokoje pavyzdžių pagalba sužinosime apie „Java ByteArrayOutputStream“ ir jos metodus.

ByteArrayOutputStreamIš klasės java.iopaketo gali būti naudojamas rašyti išvesties duomenų masyvo (bitais).

Tai pratęsia OutputStreamabstrakčią klasę.

Pastaba : ByteArrayOutputStreampalaiko vidinį baitų masyvą duomenims saugoti.

Sukurkite „ByteArrayOutputStream“

Norėdami sukurti baitų masyvo išvesties srautą, pirmiausia turime importuoti java.io.ByteArrayOutputStreampaketą. Kai importuosime paketą, galime sukurti išvesties srautą.

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

Čia mes sukūrėme išvesties srautą, kuris įrašys duomenis į baitų masyvą, kurio numatytasis dydis yra 32 baitai. Tačiau mes galime pakeisti numatytąjį masyvo dydį.

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

Čia dydis nurodo masyvo ilgį.

„ByteArrayOutputStream“ metodai

ByteArrayOutputStreamKlasė suteikia skirtingų metodų esančių įgyvendinimą OutputStreamklasėje.

rašyti () metodas

  • write(int byte) - įrašo nurodytą baitą į išvesties srautą
  • write(byte() array) - rašo baitus iš nurodyto masyvo į išvesties srautą
  • write(byte() arr, int start, int length) - rašo baitų skaičių, lygų ilgiui išvesties srautui iš masyvo pradedant nuo padėties pradžios
  • writeTo(ByteArrayOutputStream out1) - įrašo visus dabartinio išvesties srauto duomenis į nurodytą išvesties srautą

Pavyzdys: ByteArrayOutputStream duomenims rašyti

 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(); ) ) ) 

Rezultatas

 Išvesties srautas: tai teksto eilutė eilutės viduje. 

Ankstesniame pavyzdyje mes sukūrėme baitų masyvo išvesties srautą, pavadintą išvestimi.

 ByteArrayOutputStream output = new ByteArrayOutputStream(); 

Norėdami įrašyti duomenis į išvesties srautą, mes naudojome write()metodą.

Pastaba : Programoje getBytes()naudojamas metodas paverčia eilutę į baitų masyvą.

Prieiga prie duomenų iš „ByteArrayOutputStream“

  • toByteArray() - grąžina masyvą, esantį išvesties sraute
  • toString() - grąžina visus išvesties srauto duomenis eilutės forma

Pavyzdžiui,

 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

Metodai Aprašymai
size() grąžina išvesties srauto masyvo dydį
flush() išvalo išvesties srautą

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

Įdomios straipsniai...