返回介绍

java.io 类 LineNumberReader

发布于 2019-10-04 09:50:46 字数 7339 浏览 959 评论 0 收藏 0

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

public class LineNumberReader
extends BufferedReader
 

跟踪行号的缓冲字符输入流。此类定义方法 void setLineNumber(int)int getLineNumber() ,它们可分别用于设置和获取当前行号。

默认情况下,行编号从 0 开始。该行号随数据读取递增,并可以通过调用 setLineNumber(int) 进行更改。但要注意, setLineNumber(int) 不会实际更改流中的当前位置;它只更改将由 getLineNumber() 返回的值。

可认为行是由换行符('\n')、回车符('\r')或回车后面紧跟换行符中的任何一个终止的。

从以下版本开始:
JDK1.1

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

使用默认输入缓冲区的大小创建新的行编号 reader。

LineNumberReader(Readerin, intsz)

创建新的行编号 reader,将字符读入给定大小的缓冲区。

方法摘要
intgetLineNumber()

获得当前行号。

voidmark(intreadAheadLimit)

标记该流中的当前位置。

intread()

读取单个字符。

intread(char[]cbuf, intoff, intlen)

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

StringreadLine()

读取文本行。

voidreset()

将该流重新设置为最新的标记。

voidsetLineNumber(intlineNumber)

设置当前行号。

longskip(longn)

跳过字符。

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

构造方法详细信息

LineNumberReader

public LineNumberReader(Readerin)
使用默认输入缓冲区的大小创建新的行编号 reader。
参数:
in - 提供基础流的 Reader 对象。

LineNumberReader

public LineNumberReader(Readerin,
                        intsz)
创建新的行编号 reader,将字符读入给定大小的缓冲区。
参数:
in - 提供基础流的 Reader 对象。
sz - 指定缓冲区大小的 int。

方法详细信息

setLineNumber

public void setLineNumber(intlineNumber)
设置当前行号。
参数:
lineNumber - 指定行号的 int。
另请参见:
getLineNumber()

getLineNumber

public int getLineNumber()
获得当前行号。
返回:
当前行号。
另请参见:
setLineNumber(int)

read

public int read()
         throws IOException
读取单个字符。行结束符被压缩为单一新行('\n')字符。
覆盖:
BufferedReader 中的 read
返回:
读取的字符,如果已到达流的末尾,则返回 -1
抛出:
IOException - 如果发生 I/O 错误

read

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

readLine

public String readLine()
                throws IOException
读取文本行。可认为行是由换行符('\n')、回车符('\r')或回车后面紧跟换行符中的任何一个终止的。
覆盖:
BufferedReader 中的 readLine
返回:
包含行的内容且不包括任何行结束符的字符串,如果已到达流的末尾,则返回 null
抛出:
IOException - 如果发生 I/O 错误

skip

public long skip(longn)
          throws IOException
跳过字符。
覆盖:
BufferedReader 中的 skip
参数:
n - 要跳过的字符数
返回:
实际跳过的字符数
抛出:
IOException - 如果发生 I/O 错误
IllegalArgumentException - 如果 n 为负

mark

public void mark(intreadAheadLimit)
          throws IOException
标记该流中的当前位置。对 reset() 的后续调用将尝试重新将流定位到此点,还将相应地重新设置行号。
覆盖:
BufferedReader 中的 mark
参数:
readAheadLimit - 在仍保留该标记的情况下,对可读取字符数量的限制。在读取这样多的字符后,尝试重置流可能会失败。
抛出:
IOException - 如果发生 I/O 错误

reset

public void reset()
           throws IOException
将该流重新设置为最新的标记。
覆盖:
BufferedReader 中的 reset
抛出:
IOException - 如果该流未标记,或者如果该标记已失效

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

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

发布评论

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