Java ByteArrayOutputStream (med eksempler)

I denne veiledningen vil vi lære om Java ByteArrayOutputStream og dens metoder ved hjelp av eksempler.

Den ByteArrayOutputStreamklasse av java.iopakken kan bli brukt til å skrive en oppstilling av utgangsdata (i byte).

Det utvider den OutputStreamabstrakte klassen.

Merk : In ByteArrayOutputStreamopprettholder 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.ByteArrayOutputStreampakken. 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 ByteArrayOutputStreamklasse gir innføring av de forskjellige metoder som er tilstede i OutputStreamklassen.

skriv () Metode

  • write(int byte) - skriver den spesifiserte byten til utgangsstrømmen
  • write(byte() array) - skriver byte fra den spesifiserte matrisen til utgangsstrømmen
  • write(byte() arr, int start, int length) - skriver antall byte som er lik lengden til utgangsstrømmen fra en matrise som starter fra posisjonsstart
  • writeTo(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ømmen
  • toString() - 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).

Interessante artikler...