Java OutputStreamWriter (Dengan Contoh)

Dalam tutorial ini, kita akan belajar tentang Java OutputStreamWriter dan metodenya dengan bantuan contoh.

The OutputStreamWriterkelas dari java.iopaket dapat digunakan untuk data yang mengkonversi dalam bentuk karakter menjadi data dalam bentuk byte.

Ini memperluas kelas abstrak Writer.

The OutputStreamWriterkelas bekerja dengan aliran output lainnya. Ia juga dikenal sebagai jembatan antara aliran byte dan aliran karakter. Ini karena OutputStreamWritermengubah 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.OutputStreamWriterpaketnya 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 OutputStreamWriterkeluaran bernama bersama dengan FileOutputStreamfile 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 Charsetkelas untuk menentukan jenis pengkodean karakter.

Metode OutputStreamWriter

The OutputStreamWriterkelas menyediakan implementasi untuk metode yang berbeda hadir di Writerkelas.

Write () Metode

  • write() - menulis satu karakter untuk penulis
  • write(char() array) - menulis karakter dari larik yang ditentukan ke penulis
  • write(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).

Artikel yang menarik...