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 tokwrite(byte() array)- zapisuje bajtove iz navedenog polja u izlazni tokwrite(byte() arr, int start, int length)- zapisuje broj bajtova jednak duljini u izlazni tok iz polja počevši od početka položajawriteTo(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 tokatoString()- 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).








