Rumah > Java > javaTutorial > Java OutputStreamWriter

Java OutputStreamWriter

PHPz
Lepaskan: 2024-08-30 16:08:05
asal
1095 orang telah melayarinya

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
Salin selepas log masuk

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.

Bagaimana OutputStreamWriter berfungsi dalam Java?

  • Kelas OutputStreamWriter ialah subkelas langsung kelas Writer yang membantu menulis ke aliran output. Kelas ini menukar setiap aksara strim aksara kepada strim bait, sekali gus bertindak sebagai jambatan antara strim aksara dan strim bait.
  • Untuk penukaran ini, ia menggunakan set charset pengekod yang ditentukan, seperti UTF-8, dsb., yang diluluskan sebagai argumen kepada kaedah penulisannya. Memandangkan aksara yang dihantar kepada kaedah tulis tidak ditimbal, strim bait output kemudiannya ditimbal sebelum menulis ke strim output.
  • Untuk mengoptimumkan prestasi aplikasi serta mengelakkan penyeruan penukar yang kerap, adalah disyorkan untuk menggunakannya dengan BufferedWriter.

Pembina

Untuk mencipta contoh kelas OutputStreamWriter, kami mempunyai 4 jenis pembina berikut:

1. OutputStreamWriter (OutputStream keluar)

Pembina ini mengembalikan contoh OutputStreamWriter dengan pengekodan aksara lalai. Ini ialah cara paling mudah untuk mencipta tika.

Contoh:

FileOutputStream fileObj = new FileOutputStream (String path); //
Salin selepas log masuk

Ini ialah contoh OutputStream.

OutputStreamWriter output = new OutputStreamWriter (fileObj);//
Salin selepas log masuk

Peristiwa di atas diluluskan sebagai hujah untuk menentukan fail di mana output perlu ditulis.

2. OutputStreamWriter (OutputStream out, CharsetcsObj)

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"));
Salin selepas log masuk

3. OutputStreamWriter (OutputStream out, CharsetEncoder enc)

Pembina ini mengembalikan contoh OutputStreamWriter yang menggunakan pengekod Charset yang ditentukan.

Contoh:

CharsetEncoderencoder = B2CConverter.UTF_8.newEncoder ()
OutputStreamWriter output = new OutputStreamWriter (fileObj, encoder);
Salin selepas log masuk

4. OutputStreamWriter (OutputStream out, StringcsName)

Pembina ini mengembalikan contoh OutputStreamWriter yang menggunakan nama Charset yang ditentukan.

Contoh:

OutputStreamWriter output = new OutputStreamWriter (fileObj,"UTF-8");
Salin selepas log masuk

Di sini, nama charset yang digunakan untuk menukar strim aksara kepada strim bait ialah "UTF-8".

Kaedah

1. tutup ():- Kaedah ini membantu menutup strim selepas menyiramnya. Tiada Parameter diperlukan dan tiada apa yang dikembalikan daripada kaedah ini.

Sintaks 

public void close ()
Salin selepas log masuk

2. siram ():- Kaedah ini membantu menyiram strim.Tiada Parameter diperlukan dan tiada apa yang dikembalikan daripada kaedah ini.

Sintaks 

public void flush ()
Salin selepas log masuk

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 ()
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

This method just writes the converted byte stream to the output file. It does not return anything.

Examples

Below the examples of Java OutputStreamWriter:

Example 1

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 ();
}
}
}
Salin selepas log masuk

Output:

Java OutputStreamWriter

Example 2

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 ();
}
}
}
Salin selepas log masuk

Output:

Java OutputStreamWriter

Example 3

//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 ();
}
}
}
Salin selepas log masuk

Output:

Java OutputStreamWriter

Conclusion – Java OutputStreamWriter

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!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan