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

CharArrayReader

java.lang.Object

|—java.io.Reader

|—|—java.io.CharArrayReader

public class CharArrayReader
extends Reader

此类实现了一个可用作字符输入流的字符缓冲区。

Since:

JDK1.1

字段摘要

修饰符和类型字段描述
protected char[]buf字符缓冲区。
protected intcount此缓冲区结束的索引。
protected intmarkedPos缓冲区中标记的位置。
protected intpos当前缓冲区位置。
从类 java.io.Reader 继承的字段
lock

构造函数摘要

构造函数描述
CharArrayReader(char[] buf)从指定的字符数组创建一个 CharArrayReader。
CharArrayReader(char[] buf, int offset, int length)从指定的字符数组创建一个 CharArrayReader。

方法总结

修饰符和类型方法描述
voidclose()关闭流并释放与其关联的任何系统资源。
voidmark(int readAheadLimit)标记流中的当前位置。
booleanmarkSupported()告诉这个流是否支持 mark() 操作,它支持。
intread()读取单个字符。
intread(char[] b, int off, int len)将字符读入数组的一部分。
booleanready()告诉这个流是否准备好被读取。
voidreset()将流重置为最新标记,如果从未标记,则重置为开头。
longskip(long n)跳过字符。
从java.lang.Object类继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从java.io.Reader类继承的方法
read, read

字段详细信息

buf

protected char[] buf

字符缓冲区。

count

protected int count

该缓冲区结束的索引。在这个索引处或之后没有有效的数据。

markedPos

protected int markedPos

标记在缓冲区的位置。

pos

protected int pos

当前的缓冲区位置。

构造函数详细信息

CharArrayReader

public CharArrayReader(char[] buf)

从指定的字符数组中创建一个CharArrayReader。

参数:

参数名称参数描述
buf输入缓冲区(未被复制)

CharArrayReader

public CharArrayReader(char[] buf, int offset, int length)

从指定的字符数组中创建一个CharArrayReader。

生成的读取器将从给定的偏移量开始读取。可以从这个读取器中读取的char值的总数将是length或buf.length-offset,以小者为准。

参数:

参数名称参数描述
buf输入缓冲区(未被复制)
offset要读取的第一个字符的偏移量
length要读取的字符数

Throws:

Throw名称Throw描述
IllegalArgumentException如果offset为负数或大于buf.length,或者length为负数,或者这两个值的总和为负数。

方法详情

read

public int read() throws IOException

读取单个字符。

重写:

读取在Reader类中

返回:

读取的字符,为0-65535(0x00-0xffff)范围内的整数,如果已经到达流的末端,则为-1。

Throws:

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

read

public int read(char[] b, int off, int len) throws IOException

将字符读入一个数组的一部分。

指定的是:

read in class Reader

参数。

参数名称参数描述
b目的地缓冲区
off开始存储字符的偏移量
len读取的最大字符数

返回:

读取的实际字符数,如果已经到达流的末端,则为-1。

Throws:

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

skip

public long skip(long n) throws IOException

跳过的字符。返回被跳过的字符数。

n参数可以是负数,尽管在这种情况下Reader超类的skip方法会抛出一个异常。如果n是负数,那么这个方法不做任何事情,返回0。

覆盖:

跳过Reader类

参数:

参数名称参数描述
n要跳过的字符数

返回:

实际跳过的字符数

Throws:

Throw名称Throw描述
IOException如果流关闭,或者发生 I/O 错误

ready

public boolean ready() throws IOException

说明这个流是否准备好被读取。字符阵列读取器总是准备好被读取。

重写:

ready in class Reader

返回:

如果下一个read()保证不阻塞输入,则返回true,否则返回false。注意,返回false并不保证下一次读取会阻塞。

Throws:

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

markSupported

public boolean markSupported()

告诉这个流是否支持 mark() 操作,它支持。

覆盖:

markSupported in class Reader

返回:

当且仅当此流支持标记操作时才为 true。

mark

public void mark(int readAheadLimit) throws IOException

标记流中的当前位置。 对 reset() 的后续调用会将流重新定位到该点。

覆盖:

mark in class Reader

参数:

参数名称参数描述
readAheadLimit在保留标记的同时限制可以读取的字符数。 因为流的输入来自字符数组,所以没有实际限制; 因此这个论点被忽略。

Throws:

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

reset

public void reset() throws IOException

将流重置为最新标记,如果从未标记,则重置为开头。

覆盖:

reset in class Reader

Throws:

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

close

public void close()

关闭流并释放与其关联的任何系统资源。 关闭流后,进一步的 read()、ready()、mark()、reset() 或 skip() 调用将引发 IOException。 关闭以前关闭的流没有效果。

指定者:

在接口 AutoCloseable 中关闭

指定者:

在接口Closeable中关闭

指定者:

close in class Reader

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

(0)
运维的头像运维
上一篇2025-03-19 11:43
下一篇 2025-03-19 11:44

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

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