Java ByteArrayOutputStream (példákkal)

Ebben az oktatóanyagban példák segítségével megismerhetjük a Java ByteArrayOutputStream-et és annak módszereit.

A csomag ByteArrayOutputStreamosztálya java.iofelhasználható a kimeneti adatok tömbjének megírására (bájtokban).

Kiterjeszti az OutputStreamabsztrakt osztályt.

Megjegyzés : Az In ByteArrayOutputStreambelső bájt tömböt tart fenn az adatok tárolására.

Hozzon létre egy ByteArrayOutputStream fájlt

A bájt tömb kimeneti adatfolyam létrehozásához java.io.ByteArrayOutputStreamelőször a csomagot kell importálnunk . A csomag importálása után a következőképpen hozhatunk létre kimeneti adatfolyamot.

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

Itt létrehoztunk egy kimeneti adatfolyamot, amely az alapértelmezett 32 bájtos méretű bájt tömbökhöz ír adatokat. Megváltoztathatjuk azonban a tömb alapértelmezett méretét.

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

Itt a méret határozza meg a tömb hosszát.

A ByteArrayOutputStream módszerei

Az ByteArrayOutputStreamosztály biztosítja az osztályban jelenlévő különböző módszerek megvalósítását OutputStream.

write () módszer

  • write(int byte) - a megadott bájtot írja a kimeneti adatfolyamba
  • write(byte() array) - írja a bájtokat a megadott tömbből a kimeneti adatfolyamba
  • write(byte() arr, int start, int length) - megírja a hosszúsággal megegyező bájtok számát a tömb tömbjéből a kezdő pozíciótól kezdve
  • writeTo(ByteArrayOutputStream out1) - az aktuális kimeneti adatfolyam teljes adatait a megadott kimeneti adatfolyamba írja

Példa: ByteArrayOutputStream adatok írására

 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(); ) ) ) 

Kimenet

 Kimeneti adatfolyam: Ez egy szövegsor a szövegben. 

A fenti példában létrehoztunk egy bájt tömb kimeneti adatfolyamot, amelynek neve output.

 ByteArrayOutputStream output = new ByteArrayOutputStream(); 

Az adatok beírására a kimeneti adatfolyamba a write()módszert használtuk .

Megjegyzés : A getBytes()programban használt módszer egy karakterláncot bájtgá alakít át.

Hozzáférés az adatokhoz a ByteArrayOutputStream alkalmazásból

  • toByteArray() - a kimeneti adatfolyam belsejében található tömböt adja vissza
  • toString() - a kimeneti adatfolyam teljes adatait string formában adja vissza

Például,

 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

Mód Leírások
size() a tömb méretét adja vissza a kimeneti adatfolyamban
flush() törli a kimeneti adatfolyamot

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

érdekes cikkek...