I denne veiledningen vil vi lære om Java ByteArrayOutputStream og dens metoder ved hjelp av eksempler.
Den ByteArrayOutputStream
klasse av java.io
pakken kan bli brukt til å skrive en oppstilling av utgangsdata (i byte).
Det utvider den OutputStream
abstrakte klassen.
Merk : In ByteArrayOutputStream
opprettholder et internt utvalg av byte for å lagre dataene.
Opprett en ByteArrayOutputStream
For å opprette en utgangsstrøm for byte-matriser, må vi først importere java.io.ByteArrayOutputStream
pakken. Når vi har importert pakken, kan du lage en utgangsstrøm her.
// Creates a ByteArrayOutputStream with default size ByteArrayOutputStream out = new ByteArrayOutputStream();
Her har vi opprettet en utgangsstrøm som vil skrive data til en rekke byte med standardstørrelse 32 byte. Vi kan imidlertid endre matrisens standardstørrelse.
// Creating a ByteArrayOutputStream with specified size ByteArrayOutputStream out = new ByteArrayOutputStream(int size);
Her angir størrelsen lengden på matrisen.
Metoder for ByteArrayOutputStream
Den ByteArrayOutputStream
klasse gir innføring av de forskjellige metoder som er tilstede i OutputStream
klassen.
skriv () Metode
write(int byte)
- skriver den spesifiserte byten til utgangsstrømmenwrite(byte() array)
- skriver byte fra den spesifiserte matrisen til utgangsstrømmenwrite(byte() arr, int start, int length)
- skriver antall byte som er lik lengden til utgangsstrømmen fra en matrise som starter fra posisjonsstartwriteTo(ByteArrayOutputStream out1)
- skriver hele dataene til den nåværende utgangsstrømmen til den angitte utgangsstrømmen
Eksempel: ByteArrayOutputStream for å skrive data
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(); ) ) )
Produksjon
Output stream: Dette er en tekstlinje inne i strengen.
I eksemplet ovenfor har vi opprettet en byte-array-utgangsstrøm med navnet output.
ByteArrayOutputStream output = new ByteArrayOutputStream();
For å skrive dataene til utgangsstrømmen har vi brukt write()
metoden.
Merk : getBytes()
Metoden som brukes i programmet konverterer en streng til en rekke byte.
Få tilgang til data fra ByteArrayOutputStream
toByteArray()
- returnerer matrisen som er tilstede i utdatastrømmentoString()
- returnerer hele dataene til utgangsstrømmen i strengform
For eksempel,
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
Metoder | Beskrivelser |
---|---|
size() | returnerer størrelsen på matrisen i utgangsstrømmen |
flush() | tømmer utgangsstrømmen |
To learn more, visit Java ByteArrayOutputStream (official Java documentation).