I denna handledning lär vi oss om Java ByteArrayOutputStream och dess metoder med hjälp av exempel.
Paketets ByteArrayOutputStream
klass java.io
kan användas för att skriva en matris med utdata (i byte).
Det utvidgar den OutputStream
abstrakta klassen.
Obs : In ByteArrayOutputStream
underhå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.ByteArrayOutputStream
paketet 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 ByteArrayOutputStream
klass ger genomförandet av de olika metoder som finns i OutputStream
klassen.
skriv () Metod
write(int byte)
- skriver den angivna byten till utdataströmmenwrite(byte() array)
- skriver bytes från den angivna matrisen till utflödetwrite(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 positionsstartwriteTo(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ömmentoString()
- 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).