Dalam tutorial ini, kita akan belajar tentang Java ByteArrayOutputStream dan metodenya dengan bantuan contoh.
The ByteArrayOutputStream
kelas dari java.io
paket dapat digunakan untuk menulis array output data (dalam byte).
Ini memperluas OutputStream
kelas abstrak.
Catatan : Dalam ByteArrayOutputStream
memelihara larik byte internal untuk menyimpan data.
Buat ByteArrayOutputStream
Untuk membuat aliran keluaran array byte, kita harus mengimpor java.io.ByteArrayOutputStream
paket terlebih dahulu. Setelah kami mengimpor paket, berikut adalah cara kami membuat aliran keluaran.
// Creates a ByteArrayOutputStream with default size ByteArrayOutputStream out = new ByteArrayOutputStream();
Di sini, kami telah membuat aliran keluaran yang akan menulis data ke array byte dengan ukuran default 32 byte. Namun, kami dapat mengubah ukuran default dari array.
// Creating a ByteArrayOutputStream with specified size ByteArrayOutputStream out = new ByteArrayOutputStream(int size);
Di sini, size menentukan panjang array.
Metode ByteArrayOutputStream
The ByteArrayOutputStream
kelas menyediakan implementasi metode yang berbeda hadir dalam OutputStream
kelas.
Write () Metode
write(int byte)
- menulis byte yang ditentukan ke aliran keluaranwrite(byte() array)
- menulis byte dari larik yang ditentukan ke aliran keluaranwrite(byte() arr, int start, int length)
- menulis jumlah byte yang sama dengan panjang aliran keluaran dari larik mulai dari posisi awalwriteTo(ByteArrayOutputStream out1)
- menulis seluruh data dari aliran keluaran saat ini ke aliran keluaran 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(); ) ) )
Keluaran
Aliran keluaran: Ini adalah baris teks di dalam string.
Dalam contoh di atas, kami telah membuat aliran keluaran array byte bernama output.
ByteArrayOutputStream output = new ByteArrayOutputStream();
Untuk menulis data ke aliran keluaran, kami telah menggunakan write()
metode.
Catatan : getBytes()
Metode yang digunakan dalam program ini mengubah string menjadi array byte.
Akses Data dari ByteArrayOutputStream
toByteArray()
- mengembalikan larik yang ada di dalam aliran keluarantoString()
- mengembalikan seluruh data aliran keluaran dalam bentuk string
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
Metode | Deskripsi |
---|---|
size() | mengembalikan ukuran larik di aliran keluaran |
flush() | membersihkan aliran keluaran |
To learn more, visit Java ByteArrayOutputStream (official Java documentation).