Dalam tutorial ini, kita akan belajar mengenai Java ByteArrayOutputStream dan kaedahnya dengan bantuan contoh.
The ByteArrayOutputStream
golongan orang java.io
pakej boleh digunakan untuk menulis pelbagai data output (dalam bait).
Ia meluaskan OutputStream
kelas abstrak.
Catatan : Dalam ByteArrayOutputStream
mengekalkan susunan bait dalaman untuk menyimpan data.
Buat ByteArrayOutputStream
Untuk membuat aliran output array byte, kita mesti mengimport java.io.ByteArrayOutputStream
pakej 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 ByteArrayOutputStream
kelas menyediakan pelaksanaan kaedah yang berbeza yang terdapat di dalam OutputStream
kelas.
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).