Java ByteArrayOutputStream (med exempel)

I denna handledning lär vi oss om Java ByteArrayOutputStream och dess metoder med hjälp av exempel.

Paketets ByteArrayOutputStreamklass java.iokan användas för att skriva en matris med utdata (i byte).

Det utvidgar den OutputStreamabstrakta klassen.

Obs : In ByteArrayOutputStreamunderhåller en intern grupp av byte för att lagra data.

Skapa en ByteArrayOutputStream

För att skapa en byte-array-utgångsström måste vi importera java.io.ByteArrayOutputStreampaketet först. När vi väl har importerat paketet, här är hur vi kan skapa en utdataström.

 // Creates a ByteArrayOutputStream with default size ByteArrayOutputStream out = new ByteArrayOutputStream(); 

Här har vi skapat en utgångsström som skriver data till en rad byte med standardstorlek 32 byte. Vi kan dock ändra matrisens standardstorlek.

 // Creating a ByteArrayOutputStream with specified size ByteArrayOutputStream out = new ByteArrayOutputStream(int size); 

Här anger storleken längden på matrisen.

Metoder för ByteArrayOutputStream

Den ByteArrayOutputStreamklass ger genomförandet av de olika metoder som finns i OutputStreamklassen.

skriv () Metod

  • write(int byte) - skriver den angivna byten till utdataströmmen
  • write(byte() array) - skriver bytes från den angivna matrisen till utflödet
  • write(byte() arr, int start, int length) - skriver antalet byte som är lika med längden till utmatningsströmmen från en matris som börjar från positionsstart
  • writeTo(ByteArrayOutputStream out1) - skriver hela data för den aktuella utgångsströmmen till den angivna utgångsströmmen

Exempel: ByteArrayOutputStream för att skriva 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(); ) ) ) 

Produktion

 Output stream: Detta är en textrad inuti strängen. 

I exemplet ovan har vi skapat en byte-array-utgångsström med namnet output.

 ByteArrayOutputStream output = new ByteArrayOutputStream(); 

För att skriva data till utdataströmmen har vi använt write()metoden.

Obs : Den getBytes()metod som används i programmet omvandlar en sträng till en array av bytes.

Åtkomst till data från ByteArrayOutputStream

  • toByteArray() - returnerar den array som finns i utdataströmmen
  • toString() - returnerar hela data för utdataströmmen i strängform

Till exempel,

 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 Beskrivningar
size() returnerar storleken på matrisen i utdataströmmen
flush() rensar utflödet

To learn more, visit Java ByteArrayOutputStream (official Java documentation).

Intressanta artiklar...