Dalam tutorial ini, kita akan belajar mengenai Java ByteArrayOutputStream dan kaedahnya dengan bantuan contoh.
The ByteArrayOutputStreamgolongan orang java.iopakej boleh digunakan untuk menulis pelbagai data output (dalam bait).
Ia meluaskan OutputStreamkelas abstrak.

Catatan : Dalam ByteArrayOutputStreammengekalkan susunan bait dalaman untuk menyimpan data.
Buat ByteArrayOutputStream
Untuk membuat aliran output array byte, kita mesti mengimport java.io.ByteArrayOutputStreampakej terlebih dahulu. Sebaik sahaja kami mengimport pakej, berikut adalah bagaimana kita dapat membuat aliran output.
// Creates a ByteArrayOutputStream with default size ByteArrayOutputStream out = new ByteArrayOutputStream();
Di sini, kami telah membuat aliran output yang akan menulis data ke pelbagai bait dengan ukuran lalai 32 bait. Walau bagaimanapun, kami dapat mengubah ukuran lalai bagi lalai.
// Creating a ByteArrayOutputStream with specified size ByteArrayOutputStream out = new ByteArrayOutputStream(int size);
Di sini, ukuran menentukan panjang array.
Kaedah ByteArrayOutputStream
The ByteArrayOutputStreamkelas menyediakan pelaksanaan kaedah yang berbeza yang terdapat di dalam OutputStreamkelas.
tulis () Kaedah
write(int byte)- menulis bait yang ditentukan ke aliran outputwrite(byte() array)- menulis bait dari array yang ditentukan ke aliran outputwrite(byte() arr, int start, int length)- menulis bilangan bait sama dengan panjang ke aliran output dari array yang bermula dari kedudukan permulaanwriteTo(ByteArrayOutputStream out1)- menulis keseluruhan data aliran output semasa ke aliran output yang ditentukan
Contoh: ByteArrayOutputStream untuk menulis 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(); ) ) )
Pengeluaran
Aliran output: Ini adalah sebaris teks di dalam rentetan.
Dalam contoh di atas, kami telah membuat aliran output array byte bernama output.
ByteArrayOutputStream output = new ByteArrayOutputStream();
Untuk menulis data ke aliran output, kami telah menggunakan write()kaedahnya.
Catatan : getBytes()Kaedah yang digunakan dalam program mengubah rentetan menjadi array byte.
Akses Data dari ByteArrayOutputStream
toByteArray()- mengembalikan array yang ada di dalam aliran outputtoString()- mengembalikan keseluruhan data aliran output dalam bentuk rentetan
Sebagai contoh,
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
| Kaedah | Penerangan |
|---|---|
size() | mengembalikan ukuran array dalam aliran output |
flush() | membersihkan aliran output |
To learn more, visit Java ByteArrayOutputStream (official Java documentation).








