În acest tutorial, vom afla despre Java ByteArrayOutputStream și metodele sale cu ajutorul unor exemple.
ByteArrayOutputStream
Clasa a java.io
pachetului poate fi folosit pentru a scrie o serie de date de ieșire (în octeți).
Extinde OutputStream
clasa abstractă.
Notă : In ByteArrayOutputStream
menține o matrice internă de octeți pentru a stoca datele.
Creați un ByteArrayOutputStream
Pentru a crea un flux de ieșire a matricei de octeți, trebuie să importăm mai java.io.ByteArrayOutputStream
întâi pachetul. Odată ce am importat pachetul, iată cum putem crea un flux de ieșire.
// Creates a ByteArrayOutputStream with default size ByteArrayOutputStream out = new ByteArrayOutputStream();
Aici, am creat un flux de ieșire care va scrie date într-o matrice de octeți cu dimensiunea implicită 32 de octeți. Cu toate acestea, putem schimba dimensiunea implicită a matricei.
// Creating a ByteArrayOutputStream with specified size ByteArrayOutputStream out = new ByteArrayOutputStream(int size);
Aici, dimensiunea specifică lungimea tabloului.
Metode de ByteArrayOutputStream
ByteArrayOutputStream
Clasa asigură implementarea diferitelor metode prezente în OutputStream
clasă.
write () Metoda
write(int byte)
- scrie octetul specificat în fluxul de ieșirewrite(byte() array)
- scrie octeții din matricea specificată în fluxul de ieșirewrite(byte() arr, int start, int length)
- scrie numărul de octeți egal cu lungimea în fluxul de ieșire dintr-un tablou începând de la începutul pozițieiwriteTo(ByteArrayOutputStream out1)
- scrie toate datele fluxului de ieșire curent în fluxul de ieșire specificat
Exemplu: ByteArrayOutputStream pentru a scrie date
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(); ) ) )
Ieșire
Flux de ieșire: Acesta este un rând de text în interiorul șirului.
În exemplul de mai sus, am creat un flux de ieșire de matrice de octeți numit ieșire.
ByteArrayOutputStream output = new ByteArrayOutputStream();
Pentru a scrie datele în fluxul de ieșire, am folosit write()
metoda.
Notă : getBytes()
Metoda utilizată în program convertește un șir într-o matrice de octeți.
Accesați datele de la ByteArrayOutputStream
toByteArray()
- returnează matricea prezentă în fluxul de ieșiretoString()
- returnează toate datele fluxului de ieșire sub formă de șir
De exemplu,
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 | Descrieri |
---|---|
size() | returnează dimensiunea tabloului din fluxul de ieșire |
flush() | șterge fluxul de ieșire |
To learn more, visit Java ByteArrayOutputStream (official Java documentation).