树叶云鸿蒙OS教程:鸿蒙OS OutputStreamWriter

OutputStreamWriter

java.lang.Object

|—java.io.Writer

|—|—java.io.OutputStreamWriter

public class OutputStreamWriter
extends Writer

OutputStreamWriter 是从字符流到字节流的桥梁:写入其中的字符使用指定的字符集编码为字节。 它使用的字符集可以由名称指定,也可以显式给出,或者可以接受平台的默认字符集。

每次调用 write() 方法都会导致对给定字符调用编码转换器。 结果字节在写入底层输出流之前累积在缓冲区中。 可以指定此缓冲区的大小,但默认情况下它对于大多数用途来说足够大。 请注意,传递给 write() 方法的字符不会被缓冲。

为了获得最高效率,请考虑将 OutputStreamWriter 包装在 BufferedWriter 中,以避免频繁的转换器调用。 例如:

 Writer out
   = new BufferedWriter(new OutputStreamWriter(System.out));

代理项对是由两个 char 值的序列表示的字符:在 ‘\uD800’ 到 ‘\uDBFF’ 范围内的高代理项,然后是在 ‘\uDC00’ 到 ‘\uDFFF’ 范围内的低代理项。

畸形的替代元素是高替代元素之后没有低替代元素或低替代元素之前没有高替代元素。

这个类总是用字符集的默认替换序列替换格式错误的代理元素和不可映射的字符序列。 当需要对编码过程进行更多控制时,应使用 CharsetEncoder 类。

Since:

JDK1.1

字段摘要

从类 java.io.Writer 继承的字段
lock

构造函数摘要

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

方法总结

修饰符和类型方法描述
voidclose()关闭流,首先刷新它。
voidflush()冲洗流。
StringgetEncoding()返回此流使用的字符编码的名称。
voidwrite(char[] cbuf, int off, int len)写入字符数组的一部分。
voidwrite(int c)写入单个字符。
voidwrite(String str, int off, int len)写入字符串的一部分。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从类 java.io.Writer 继承的方法
append, append, append, write, write

构造函数详细信息

OutputStreamWriter

public OutputStreamWriter(OutputStream out, String charsetName) throws UnsupportedEncodingException

创建一个使用命名字符集的 OutputStreamWriter。

参数:

参数名称参数描述
out输出流
charsetName支持的字符集的名称

Throws:

Throw名称Throw描述
UnsupportedEncodingException如果不支持命名编码

OutputStreamWriter

public OutputStreamWriter(OutputStream out)

创建一个使用默认字符编码的 OutputStreamWriter。

参数:

参数名称参数描述
out输出流

OutputStreamWriter

public OutputStreamWriter(OutputStream out, Charset cs)

创建一个使用给定字符集的 OutputStreamWriter。

参数:

参数名称参数描述
out输出流
cs一个字符集

Since:

1.4

OutputStreamWriter

public OutputStreamWriter(OutputStream out, CharsetEncoder enc)

创建一个使用给定字符集编码器的 OutputStreamWriter。

参数:

参数名称参数描述
out输出流
enc一个字符集编码器

Since:

1.4

方法详情

getEncoding

public String getEncoding()

返回此流使用的字符编码的名称。

如果编码具有历史名称,则返回该名称; 否则返回编码的规范名称。

如果此实例是使用 OutputStreamWriter(java.io.OutputStream,java.lang.String) 构造函数创建的,则返回的名称(对于编码是唯一的)可能与传递给构造函数的名称不同。 如果流已关闭,此方法可能会返回 null。

返回:

此编码的历史名称,如果流已关闭,则可能为 null

write

public void write(int c) throws IOException

写入单个字符。

覆盖:

在 Writer 类中写

参数:

参数名称参数描述
cint 指定要写入的字符

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误

write

public void write(char[] cbuf, int off, int len) throws IOException

写入字符数组的一部分。

指定者:

在 Writer 类中写

参数:

参数名称参数描述
cbuf字符缓冲区
off开始写入字符的偏移量
len要写入的字符数

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误

write

public void write(String str, int off, int len) throws IOException

写入字符串的一部分。

覆盖:

在 Writer 类中写

参数:

参数名称参数描述
str一个字符串
off开始写入字符的偏移量
len要写入的字符数

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误

flush

public void flush() throws IOException

冲洗流。

指定者:

在接口 Flushable 中刷新

指定者:

在 Writer 类中刷新

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误

close

public void close() throws IOException

从班级复制的描述:Writer

关闭流,首先刷新它。 一旦流被关闭,进一步的 write() 或 flush() 调用将导致抛出 IOException。 关闭以前关闭的流没有效果。

指定者:

在接口 AutoCloseable 中关闭

指定者:

在接口Closeable中关闭

指定者:

关闭类 Writer

Throws:

Throw名称Throw描述
IOException如果发生 I/O 错误

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/161809.html<

(0)
管理的头像管理
上一篇2025-03-18 09:45
下一篇 2025-03-18 09:46

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注