OutputStreamWriter ialah kelas dalam kelas java.io yang berguna untuk penukaran strim aksara kepada strim bait. Penukaran aksara kepada bait ini dilakukan menggunakan pengekodan charset yang telah ditentukan. Ia mengandungi kaedah tulis () yang memanggil penukar pengekodan untuk menukar aksara kepada aliran bait dari mana bait terhasil dihantar ke dalam penimbal di mana ia terkumpul dan dihantar ke aliran keluaran. Aksara dihantar kepada kaedah tulis () tanpa ditimbal, sekali gus membawa kepada seruan penukar yang kerap, sekali gus digunakan dengan BufferedWriter.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sintaks:
public class OutputStreamWriter extends Writer
Sintaks ini menggambarkan bahawa ini ialah kelas awam yang bermaksud ia boleh dijadikan instantiated dari mana-mana sahaja dalam projek. Kelas ini ialah subkelas langsung kelas abstrak- Kelas Penulis yang berkaitan dengan penulisan kepada aliran aksara.
Untuk mencipta contoh kelas OutputStreamWriter, kami mempunyai 4 jenis pembina berikut:
Pembina ini mengembalikan contoh OutputStreamWriter dengan pengekodan aksara lalai. Ini ialah cara paling mudah untuk mencipta tika.
Contoh:
FileOutputStream fileObj = new FileOutputStream (String path); //
Ini ialah contoh OutputStream.
OutputStreamWriter output = new OutputStreamWriter (fileObj);//
Peristiwa di atas diluluskan sebagai hujah untuk menentukan fail di mana output perlu ditulis.
Pembina ini mengembalikan contoh OutputStreamWriter yang menggunakan Charset yang ditentukan. Di sini charset yang ditentukan boleh menjadi seperti Charset.forName ( "UTF8"), mencipta contoh charset sebagai hujah kepada kaedah.
Contoh:
OutputStreamWriter output = new OutputStreamWriter (fileObj,Charset.forName ( "UTF8"));
Pembina ini mengembalikan contoh OutputStreamWriter yang menggunakan pengekod Charset yang ditentukan.
Contoh:
CharsetEncoderencoder = B2CConverter.UTF_8.newEncoder () OutputStreamWriter output = new OutputStreamWriter (fileObj, encoder);
Pembina ini mengembalikan contoh OutputStreamWriter yang menggunakan nama Charset yang ditentukan.
Contoh:
OutputStreamWriter output = new OutputStreamWriter (fileObj,"UTF-8");
Di sini, nama charset yang digunakan untuk menukar strim aksara kepada strim bait ialah "UTF-8".
1. tutup ():- Kaedah ini membantu menutup strim selepas menyiramnya. Tiada Parameter diperlukan dan tiada apa yang dikembalikan daripada kaedah ini.
Sintaks
public void close ()
2. siram ():- Kaedah ini membantu menyiram strim.Tiada Parameter diperlukan dan tiada apa yang dikembalikan daripada kaedah ini.
Sintaks
public void flush ()
3. getEncoding ():- Kaedah ini membantu untuk mendapatkan semula nama pengekodan charset yang digunakan oleh contoh OutputStreamWriter yang diberikan. Tiada parameter perlu dilalui semasa memanggil kaedah.
Sintaks
public String getEncoding ()
Perwakilan rentetan nama Pengekodan yang digunakan oleh tika dikembalikan.
4. tulis (char[] charbuf, int off, int len):- Kaedah ini membantu menulis bahagian tertentu tatasusunan aksara yang bermula dari kedudukan mengimbangi dan panjangnya ialah 'len'. Kaedah ini membuangIOException sekiranya sebarang input yang diberikan adalah salah atau batal.
Sintaks
public void write (char[] charbuf, int off, int len)
Kaedah ini hanya menulis strim bait yang ditukar kepada fail output. Ia tidak mengembalikan apa-apa.
5. tulis (int ch):- Kaedah ini digunakan untuk menulis satu aksara kepada aliran yang menyatakan aksara ASCIInya. Kaedah ini membuangIOException sekiranya sebarang input yang diberikan adalah salah atau batal.
Sintaks
public void write (int ch)
Kaedah ini hanya menulis strim bait yang ditukar kepada fail output. Ia tidak mengembalikan apa-apa.
6. write(String str, int off, int len):- Kaedah ini digunakan untuk menulis sebahagian daripada rentetan bermula dengan ofset yang diberikan dan diberi panjang kepada strim.
Syntax
public void write (String strObj, int offset, int lgth)
This method just writes the converted byte stream to the output file. It does not return anything.
Below the examples of Java OutputStreamWriter:
import java.io.*; public class StreamDemo { public static void main (String[] args) { String data = "LetsLearnOuptputStreamClass"; try { OutputStream file = new FileOutputStream ("abc.txt"); OutputStreamWriter outObj = new OutputStreamWriter (file); FileInputStream inFileObj = new FileInputStream ("abc.txt"); outObj.write (data, 5, 6); outObj.flush (); System.out.println ( "Name of Encoding used here is : " + outObj.getEncoding ()); for (int i = 0; i<6; i++) { System.out.println ( "Character written is : " + (char) inFileObj.read()); } outObj.close (); } catch (Exception ex) { System.out.println ( "Error Occurred"); ex.printStackTrace (); } } }
Output:
import java.io.*; public class StreamDemo { public static void main (String[] args) { try { OutputStream g = new FileOutputStream ( "C:/Users/savij/Desktop/abc.txt"); OutputStreamWriter outObj = new OutputStreamWriter (g); FileInputStream in = new FileInputStream ( "C:/Users/savij/Desktop/abc.txt"); outObj.write (69); outObj.write (68); outObj.write (85); outObj.write (67); outObj.write (66); outObj.write (65); outObj.flush (); for (int i = 0; i< 6; i++) { System.out.println ( "The char being written: " + (char) in.read()); } outObj.close (); } catch (Exception ex) { System.out.println ( "Error"); ex.printStackTrace (); } } }
Output:
//package Proc; import java.io.*; public class StreamDemo { public static void main (String[] args) { char[] data = {'E','D','U','C','B','A'}; try { OutputStream file = new FileOutputStream ( "abc.txt"); OutputStreamWriter outObj = new OutputStreamWriter (file); FileInputStream inFileObj = new FileInputStream ( "abc.txt"); outObj.write (data,2, 4); outObj.flush (); for (int i = 0; i<4; i++) { System.out.println ( "Character written is : " + (char) inFileObj.read()); } outObj.close (); } catch (Exception ex) { System.out.println ( "Error Occurred"); ex.printStackTrace (); } } }
Output:
OutputStreamWriter is a utility that acts as a bridge from the character stream to a byte stream. It contains a write method that takes input in the form of characters and converts them into bytes using the specified charset or charset encoder for e.g., UTF-8. This class’s efficiency and performance can be enhanced if BufferredWriter is being used instead of Writer to write the resultant byte stream to the output streams.
Atas ialah kandungan terperinci Java OutputStreamWriter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!