Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Kelas Java OutputStreamWriter

Kelas OutputStreamWriter Java

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

OutputStreamWriter kelas java.io package dapat digunakan untuk mengubah data dalam bentuk karakter menjadi data dalam bentuk byte.

Ini memperluas kelas abstrak Writer .

OutputStreamWriter kelas bekerja dengan aliran keluaran lainnya. Ini 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 tersebut bersama-sama.


Buat OutputStreamWriter

Untuk membuat OutputStreamWriter , kita harus mengimpor java.io.OutputStreamWriter paket dulu. Setelah kita mengimpor paketnya, berikut adalah cara membuat penulis aliran keluaran.

// Creates an OutputStream
FileOutputStream file = new FileOutputStream(String path);

// Creates an OutputStreamWriter
OutputStreamWriter output = new OutputStreamWriter(file);

Pada contoh di atas, kita telah membuat OutputStreamWriter bernama output 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 class untuk menentukan jenis pengkodean karakter.


Metode OutputStreamWriter

OutputStreamWriter class menyediakan implementasi untuk berbagai metode yang ada di Writer kelas.

write() Metode


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. Pembaca aliran keluaran ditautkan dengan output.txt berkas.

FileOutputStream file = new FileOutputStream("output.txt");
OutputStreamWriter output = new OutputStreamWriter(file);

Untuk menulis data ke file, kami telah menggunakan write() metode.

Di sini, saat kita menjalankan program, output.txt file diisi dengan konten berikut.

This is a line of text inside the file.

Metode getEncoding()

getEncoding() metode dapat digunakan untuk mendapatkan jenis pengkodean yang digunakan untuk menulis data ke aliran output. Misalnya,

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

The character encoding of output1: Cp1252
The character encoding of output2: UTF8

Pada contoh di atas, kami telah membuat 2 penulis aliran keluaran bernama output1 dan output2 .

Catatan :Kami telah menggunakan Charset.forName() metode untuk menentukan jenis pengkodean karakter. Untuk mempelajari lebih lanjut, kunjungi Java Charset (dokumentasi resmi Java).


close() Metode

Untuk menutup penulis aliran keluaran, kita dapat menggunakan close() metode. Setelah close() metode ini 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 tertentu ke penulis saat ini

Untuk mempelajari lebih lanjut, kunjungi Java OutputStreamWriter (dokumentasi resmi Java).


java

  1. Kata kunci terakhir Java
  2. Instance Java dari Operator
  3. Warisan Jawa
  4. Kelas Statis Bersarang Java
  5. Kelas Anonim Java
  6. Kelas Tunggal Jawa
  7. Refleksi Jawa
  8. Kelas Java ObjectOutputStream
  9. Java Generik
  10. Kelas File Java