U ovom uputstvu uz primjere ćemo naučiti o Javi ByteArrayOutputStream i njezinim metodama.
ByteArrayOutputStream
Razred java.io
paket se može koristiti za pisanje niz izlaznih podataka (u bajtovima).
Proširuje OutputStream
apstraktnu klasu.
Napomena : In ByteArrayOutputStream
održava unutarnji niz bajtova za pohranu podataka.
Stvorite ByteArrayOutputStream
Da bismo stvorili izlazni tok bajt polja, prvo moramo uvesti java.io.ByteArrayOutputStream
paket. 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 ByteArrayOutputStream
omogućuje provedbu različitih metoda prisutnih u OutputStream
nastavi.
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).