当前位置: 首页 > 教程 > Java IO流 >

Java OutputStreamWriter

精华
小牛编辑
107浏览
2023-03-14

1 什么是Java OutputStreamWriter

OutputStreamWriter 类用于将字符流转换为字节流,使用指定的字符集将字符编码为字节。write() 方法调用编码转换器,该转换器将字符转换为字节。然后,将所得的字节存储在缓冲区中,然后再写入基础输出流中。传递给write() 方法的字符不被缓冲。我们通过在BufferedWriter中使用OutputStreamWriter来优化其性能,以避免频繁的转换器调用。

2 Java OutputStreamWriter的构造方法

构造方法 描述
OutputStreamWriter(OutputStream out) 创建一个使用默认字符编码的OutputStreamWriter。
OutputStreamWriter(OutputStream out, Charset cs) 创建一个使用给定字符集的OutputStreamWriter。
OutputStreamWriter(OutputStream out, CharsetEncoder enc) 创建一个使用给定字符集编码器的OutputStreamWriter。
OutputStreamWriter(OutputStream out, String charsetName) 创建一个使用命名字符集的OutputStreamWriter。

3 Java OutputStreamWriter的方法

修饰符 方法 描述
void close() 关闭流,首先冲洗它。
void flush() 刷新流。
String getEncoding() 返回此流使用的字符编码的名称。
void write(char[] cbuf, int off, int len) 写入一部分字符数组。
void write(int c) 只写一个字符。
void write(String str, int off, int len) 写入字符串的一部分。

4 Java OutputStreamWriter的例子

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
/**
 *  Java OutputStreamWriter的例子
 */
public class Demo {
    public static void main(String[] args) {

        try {
            OutputStream outputStream = new FileOutputStream("output.txt");
            Writer outputStreamWriter = new OutputStreamWriter(outputStream);

            outputStreamWriter.write("Hello World");

            outputStreamWriter.close();
        } catch (Exception e) {
            e.getMessage();
        }
    }
}

output.txt:

Hello World