返回介绍

java.io 类 PushbackReader

发布于 2019-10-04 09:50:51 字数 9136 浏览 827 评论 0 收藏 0

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

public class PushbackReader
extends FilterReader
 

允许将字符推回到流的字符流 reader。

从以下版本开始:
JDK1.1

字段摘要
从类 java.io.FilterReader 继承的字段
in
从类 java.io.Reader 继承的字段
lock
构造方法摘要
PushbackReader(Readerin)

创建具有单字符推回缓冲区的新推回 reader。

PushbackReader(Readerin, intsize)

创建具有给定大小推回缓冲区的新推回 reader。

方法摘要
voidclose()

关闭该流。

voidmark(intreadAheadLimit)

标记流中的当前位置。

booleanmarkSupported()

判断此流是否支持 mark() 操作(它一定不支持)。

intread()

读取单个字符。

intread(char[]cbuf, intoff, intlen)

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

booleanready()

判断是否准备读取此流。

voidreset()

重置该流。

longskip(longn)

跳过字符。

voidunread(char[]cbuf)

推回一个字符数组,方法是将其复制到推回缓冲区前面。

voidunread(char[]cbuf, intoff, intlen)

推回字符数组的某一部分,方法是将其复制到推回缓冲区的前面。

voidunread(intc)

推回单个字符。

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

构造方法详细信息

PushbackReader

public PushbackReader(Readerin,
                      intsize)
创建具有给定大小推回缓冲区的新推回 reader。
参数:
in - 将从中读取字符的 reader
size - 推回缓冲区的大小
抛出:
IllegalArgumentException - 如果 size <= 0

PushbackReader

public PushbackReader(Readerin)
创建具有单字符推回缓冲区的新推回 reader。
参数:
in - 将从中读取字符的 reader

方法详细信息

read

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

read

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

unread

public void unread(intc)
            throws IOException
推回单个字符。
参数:
c - 要推回的字符
抛出:
IOException - 如果推回缓冲区已满,或者如果发生一些其他 I/O 错误

unread

public void unread(char[]cbuf,
                   intoff,
                   intlen)
            throws IOException
推回字符数组的某一部分,方法是将其复制到推回缓冲区的前面。在返回此方法后,要读取的下一个字符将具有值 cbuf[off] ,其后的字节将具有值 cbuf[off+1] ,依次类推。
参数:
cbuf - 字符数组
off - 要推回的第一个字符的偏移量
len - 要推回的字符数
抛出:
IOException - 如果推回缓冲区中没有足够的空间,或者如果发生一些其他 I/O 错误

unread

public void unread(char[]cbuf)
            throws IOException
推回一个字符数组,方法是将其复制到推回缓冲区前面。在返回此方法后,要读取的下一个字符将具有值 cbuf[0] ,其后的字节将具有值 cbuf[1] ,依次类推。
参数:
cbuf - 要推回的字符数组
抛出:
IOException - 如果推回缓冲区中没有足够的空间,或者如果发生一些其他 I/O 错误

ready

public boolean ready()
              throws IOException
判断是否准备读取此流。
覆盖:
FilterReader 中的 ready
返回:
如果保证下一个 read() 不阻塞输入,则返回 True,否则返回 false。注意,返回 false 并不保证阻塞下一次读取。
抛出:
IOException - 如果发生 I/O 错误

mark

public void mark(intreadAheadLimit)
          throws IOException
标记流中的当前位置。类 PushbackReadermark 始终抛出异常。
覆盖:
FilterReader 中的 mark
参数:
readAheadLimit - 在仍保留该标记的情况下,对可读取字符数量的限制。在读取这样多的字符后,尝试重置流可能会失败。
抛出:
IOException - 始终抛出,原因是不支持标记功能

reset

public void reset()
           throws IOException
重置该流。 PushbackReaderreset 方法始终抛出异常。
覆盖:
FilterReader 中的 reset
抛出:
IOException - 始终抛出,原因是不支持重置功能

markSupported

public boolean markSupported()
判断此流是否支持 mark() 操作(它一定不支持)。
覆盖:
FilterReader 中的 markSupported
返回:
当且仅当此流支持此 mark 操作时,返回 true。

close

public void close()
           throws IOException
关闭该流。
指定者:
接口 Closeable 中的 close
覆盖:
FilterReader 中的 close
抛出:
IOException - 如果发生 I/O 错误

skip

public long skip(longn)
          throws IOException
跳过字符。在一些字符可用、发生 I/O 错误或者到达流的末尾前,此方法一直阻塞。
覆盖:
FilterReader 中的 skip
参数:
n - 要跳过的字符数
返回:
实际跳过的字符数
抛出:
IllegalArgumentException - 如果 n 为负。
IOException - 如果发生 I/O 错误

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

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

发布评论

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