Dalam tutorial ini, kita akan belajar tentang Java OutputStreamWriter dan metodenya dengan bantuan contoh.
The OutputStreamWriter
kelas dari java.io
paket dapat digunakan untuk data yang mengkonversi dalam bentuk karakter menjadi data dalam bentuk byte.
Ini memperluas kelas abstrak Writer
.
The OutputStreamWriter
kelas bekerja dengan aliran output lainnya. Ia juga dikenal sebagai jembatan antara aliran byte dan aliran karakter. Ini karena OutputStreamWriter
mengubah karakternya menjadi byte.
Misalnya, beberapa karakter memerlukan 2 byte untuk disimpan di penyimpanan. Untuk menulis data seperti itu, kita dapat menggunakan penulis aliran keluaran yang mengubah karakter menjadi byte yang sesuai dan menyimpan byte bersama-sama.
Buat OutputStreamWriter
Untuk membuat OutputStreamWriter
, kita harus mengimpor java.io.OutputStreamWriter
paketnya terlebih dahulu. Setelah kita mengimpor paket di sini adalah bagaimana kita dapat membuat penulis aliran keluaran.
// Creates an OutputStream FileOutputStream file = new FileOutputStream(String path); // Creates an OutputStreamWriter OutputStreamWriter output = new OutputStreamWriter(file);
Dalam contoh di atas, kami telah membuat OutputStreamWriter
keluaran bernama bersama dengan FileOutputStream
file bernama.
Di sini, kami menggunakan pengkodean karakter default untuk menulis karakter ke aliran keluaran.
Namun, kita dapat menentukan jenis pengkodean karakter ( UTF8 atau UTF16 ) yang akan digunakan untuk menulis data.
// Creates an OutputStreamWriter specifying the character encoding OutputStreamWriter output = new OutputStreamWriter(file, Charset cs);
Di sini, kami telah menggunakan Charset
kelas untuk menentukan jenis pengkodean karakter.
Metode OutputStreamWriter
The OutputStreamWriter
kelas menyediakan implementasi untuk metode yang berbeda hadir di Writer
kelas.
Write () Metode
write()
- menulis satu karakter untuk penuliswrite(char() array)
- menulis karakter dari larik yang ditentukan ke penuliswrite(String data)
- menulis string yang ditentukan ke penulis
Contoh: OutputStreamWriter untuk menulis data ke File
import java.io.FileOutputStream; import java.io.OutputStreamWriter; public class Main ( public static void main(String args()) ( String data = "This is a line of text inside the file."; try ( // Creates a FileOutputStream FileOutputStream file = new FileOutputStream("output.txt"); // Creates an OutputStreamWriter OutputStreamWriter output = new OutputStreamWriter(file); // Writes string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
Dalam contoh di atas, kami telah membuat pembaca aliran keluaran menggunakan aliran keluaran file. Output stream reader dihubungkan dengan output.txt berkas.
FileOutputStream file = new FileOutputStream("output.txt"); OutputStreamWriter output = new OutputStreamWriter(file);
Untuk menulis data ke file, kami menggunakan write()
metode.
Di sini, saat kita menjalankan program, file output.txt diisi dengan konten berikut.
This is a line of text inside the file.
Metode getEncoding ()
The getEncoding()
metode dapat digunakan untuk mendapatkan jenis encoding yang digunakan untuk menulis data ke output stream. Sebagai contoh,
import java.io.OutputStreamWriter; import java.nio.charset.Charset; import java.io.FileOutputStream; class Main ( public static void main(String() args) ( try ( // Creates an output stream FileOutputStream file = new FileOutputStream("output.txt"); // Creates an output stream reader with default encoding OutputStreamWriter output1 = new OutputStreamWriter(file); // Creates an output stream reader specifying the encoding OutputStreamWriter output2 = new OutputStreamWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the output stream System.out.println("Character encoding of output1: " + output1.getEncoding()); System.out.println("Character encoding of output2: " + output2.getEncoding()); // Closes the reader output1.close(); output2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Keluaran
Pengkodean karakter keluaran1: Cp1252 Pengkodean karakter keluaran2: UTF8
Pada contoh di atas, kita telah membuat 2 penulis aliran keluaran bernama keluaran1 dan keluaran2.
- output1 tidak menentukan pengkodean karakter. Karenanya
getEncoding()
metode ini mengembalikan pengkodean karakter default. - output2 menentukan pengkodean karakter, UTF8 . Karenanya
getEncoding()
metode mengembalikan pengkodean karakter yang ditentukan.
Catatan : Kami telah menggunakan Charset.forName()
metode untuk menentukan tipe pengkodean karakter. Untuk mempelajari lebih lanjut, kunjungi Java Charset (dokumentasi resmi Java).
close () Metode
Untuk menutup output stream penulis dapat menggunakan close()
metode. Setelah close()
metode dipanggil, kita tidak dapat menggunakan penulis untuk menulis data.
Metode lain dari OutputStreamWriter
metode | Deskripsi |
---|---|
flush() | memaksa untuk menulis semua data yang ada di penulis ke tujuan yang sesuai |
append() | menyisipkan karakter yang ditentukan ke penulis saat ini |
Untuk mempelajari lebih lanjut, kunjungi Java OutputStreamWriter (dokumentasi resmi Java).