Java ByteArrayOutputStream (s primjerima)

U ovom uputstvu uz primjere ćemo naučiti o Javi ByteArrayOutputStream i njezinim metodama.

ByteArrayOutputStreamRazred java.iopaket se može koristiti za pisanje niz izlaznih podataka (u bajtovima).

Proširuje OutputStreamapstraktnu klasu.

Napomena : In ByteArrayOutputStreamodržava unutarnji niz bajtova za pohranu podataka.

Stvorite ByteArrayOutputStream

Da bismo stvorili izlazni tok bajt polja, prvo moramo uvesti java.io.ByteArrayOutputStreampaket. Nakon što uvozimo paket, evo kako možemo stvoriti izlazni tok.

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

Ovdje smo stvorili izlazni tok koji će upisivati ​​podatke u niz bajtova zadane veličine 32 bajta. Međutim, možemo promijeniti zadanu veličinu niza.

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

Ovdje veličina određuje duljinu niza.

Metode ByteArrayOutputStream

Predavanje ByteArrayOutputStreamomogućuje provedbu različitih metoda prisutnih u OutputStreamnastavi.

metoda write ()

  • write(int byte) - zapisuje navedeni bajt u izlazni tok
  • write(byte() array) - zapisuje bajtove iz navedenog polja u izlazni tok
  • write(byte() arr, int start, int length) - zapisuje broj bajtova jednak duljini u izlazni tok iz polja počevši od početka položaja
  • writeTo(ByteArrayOutputStream out1) - zapisuje cjelokupne podatke trenutnog izlaznog toka u navedeni izlazni tok

Primjer: ByteArrayOutputStream za pisanje podataka

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

Izlaz

 Izlazni tok: Ovo je redak teksta unutar niza. 

U gornjem primjeru stvorili smo bajtni izlazni tok niza naziva output.

 ByteArrayOutputStream output = new ByteArrayOutputStream(); 

Za zapis podataka u izlazni tok koristili smo write()metodu.

Napomena : getBytes()Metoda korištena u programu pretvara niz u niz bajtova.

Pristup podacima iz ByteArrayOutputStream

  • toByteArray() - vraća niz prisutan unutar izlaznog toka
  • toString() - vraća cjelokupne podatke izlaznog toka u obliku niza

Na primjer,

 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

Metode Opisi
size() vraća veličinu niza u izlaznom toku
flush() briše izlazni tok

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

Zanimljivi članci...