返回介绍

java.io 类 StringReader

发布于 2019-10-04 09:50:52 字数 6496 浏览 1003 评论 0 收藏 0

java.lang.Object
  └java.io.Reader
      └java.io.StringReader
所有已实现的接口:
Closeable, Readable

public class StringReader
extends Reader
 

其源为一个字符串的字符流。

从以下版本开始:
JDK1.1

字段摘要
从类 java.io.Reader 继承的字段
lock
构造方法摘要
StringReader(Strings)

创建一个新字符串 reader。

方法摘要
voidclose()

关闭该流。

voidmark(intreadAheadLimit)

标记流中的当前位置。

booleanmarkSupported()

告知此流是否支持 mark() 操作以及支持哪一项操作。

intread()

读取单个字符。

intread(char[]cbuf, intoff, intlen)

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

booleanready()

告知是否准备读取此流。

voidreset()

将该流重置为最新的标记,如果从未标记过,则将其重置到该字符串的开头。

longskip(longns)

跳过流中指定数量的字符。

从类 java.io.Reader 继承的方法
read, read
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造方法详细信息

StringReader

public StringReader(Strings)
创建一个新字符串 reader。
参数:
s - 提供字符流的字符串。

方法详细信息

read

public int read()
         throws IOException
读取单个字符。
覆盖:
Reader 中的 read
返回:
读取的字符,如果已到达流的末尾,则返回 -1
抛出:
IOException - 如果发生 I/O 错误

read

public int read(char[]cbuf,
                intoff,
                intlen)
         throws IOException
将字符读入数组的某一部分。
指定者:
Reader 中的 read
参数:
cbuf - 目标缓冲区
off - 开始写入字符处的偏移量
len - 要读取的最多字符数
返回:
读取的字符数,如果已到达流的末尾,则返回 -1
抛出:
IOException - 如果发生 I/O 错误

skip

public long skip(longns)
          throws IOException
跳过流中指定数量的字符。返回跳过的字符数。

ns 参数可能为负数,即便 Reader 超类的 skip 方法在此情况下会抛出一个异常。 ns 为负值导致此流向后跳读。负返回值指示向后跳读。向后跳读不可能超过字符串的开头。

如果读取或跳读了整个字符串,则此方法无效且始终返回 0。

覆盖:
Reader 中的 skip
参数:
ns - 要跳过的字符数
返回:
实际跳过的字符数
抛出:
IOException - 如果发生 I/O 错误

ready

public boolean ready()
              throws IOException
告知是否准备读取此流。
覆盖:
Reader 中的 ready
返回:
如果保证下一个 read() 不阻塞输入,则返回 True
抛出:
IOException - 如果该流已关闭

markSupported

public boolean markSupported()
告知此流是否支持 mark() 操作以及支持哪一项操作。
覆盖:
Reader 中的 markSupported
返回:
当且仅当此流支持此 mark 操作时,返回 true。

mark

public void mark(intreadAheadLimit)
          throws IOException
标记流中的当前位置。对 reset() 的后续调用会将该流重新定位到此点。
覆盖:
Reader 中的 mark
参数:
readAheadLimit - 在仍保留该标记的情况下,对可读取字符数量的限制。由于该流的输入来自一个字符串,不存在实际的限制,因此,此参数决不能为负数,否则将被忽略。
抛出:
IllegalArgumentException - 如果 readAheadLimit < 0
IOException - 如果发生 I/O 错误

reset

public void reset()
           throws IOException
将该流重置为最新的标记,如果从未标记过,则将其重置到该字符串的开头。
覆盖:
Reader 中的 reset
抛出:
IOException - 如果发生 I/O 错误

close

public void close()
关闭该流。
指定者:
接口 Closeable 中的 close
指定者:
Reader 中的 close

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文