Most visited

Recently visited

Added in API level 1

Reader

public abstract class Reader
extends Object implements Readable, Closeable

java.lang.Object
   ↳ java.io.Reader
Known Direct Subclasses
Known Indirect Subclasses


读字符流的抽象类。 子类必须实现的唯一方法是读取(char [],int,int)和close()。 但是,大多数子类会覆盖此处定义的一些方法,以提供更高的效率,更多的功能或两者。

也可以看看:

Summary

Fields

protected Object lock

用于同步此流上的操作的对象。

Protected constructors

Reader()

创建一个新的字符流阅读器,其关键部分将在阅读器本身进行同步。

Reader(Object lock)

创建一个新的字符流阅读器,其关键部分将在给定对象上同步。

Public methods

abstract void close()

关闭流并释放与其关联的所有系统资源。

void mark(int readAheadLimit)

标记流中的当前位置。

boolean markSupported()

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

int read()

读取一个字符。

abstract int read(char[] cbuf, int off, int len)

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

int read(char[] cbuf)

将字符读入数组。

int read(CharBuffer target)

尝试将字符读入指定的字符缓冲区。

boolean ready()

告诉这个流是否准备好被读取。

void reset()

重置流。

long skip(long n)

跳过字符。

Inherited methods

From class java.lang.Object
From interface java.lang.Readable
From interface java.io.Closeable
From interface java.lang.AutoCloseable

Fields

lock

Added in API level 1
Object lock

用于同步此流上的操作的对象。 为了提高效率,字符流对象可以使用除自身以外的对象来保护关键部分。 因此子类应该使用该字段中的对象而不是this或同步方法。

Protected constructors

Reader

Added in API level 1
Reader ()

创建一个新的字符流阅读器,其关键部分将在阅读器本身进行同步。

Reader

Added in API level 1
Reader (Object lock)

创建一个新的字符流阅读器,其关键部分将在给定对象上同步。

Parameters
lock Object: The Object to synchronize on.

Public methods

close

Added in API level 1
void close ()

关闭流并释放与其关联的所有系统资源。 一旦流被关闭,read(),ready(),mark(),reset()或skip()调用将会抛出一个IOException异常。 关闭以前关闭的流不起作用。

Throws
IOException If an I/O error occurs

mark

Added in API level 1
void mark (int readAheadLimit)

标记流中的当前位置。 随后对reset()的调用将尝试将流重新定位到此点。 并非所有的字符输入流都支持mark()操作。

Parameters
readAheadLimit int: Limit on the number of characters that may be read while still preserving the mark. After reading this many characters, attempting to reset the stream may fail.
Throws
IOException If the stream does not support mark(), or if some other I/O error occurs

markSupported

Added in API level 1
boolean markSupported ()

告诉这个流是否支持mark()操作。 默认实现总是返回false。 子类应该重写此方法。

Returns
boolean true if and only if this stream supports the mark operation.

read

Added in API level 1
int read ()

读取一个字符。 此方法将阻塞,直到出现字符,发生I / O错误或到达流的末尾。

旨在支持高效单字符输入的子类应该重写此方法。

Returns
int The character read, as an integer in the range 0 to 65535 (0x00-0xffff), or -1 if the end of the stream has been reached
Throws
IOException If an I/O error occurs

read

Added in API level 1
int read (char[] cbuf, 
                int off, 
                int len)

将字符读入数组的一部分。 此方法将阻塞,直到某些输入可用,发生I / O错误或到达流的末尾。

Parameters
cbuf char: Destination buffer
off int: Offset at which to start storing characters
len int: Maximum number of characters to read
Returns
int The number of characters read, or -1 if the end of the stream has been reached
Throws
IOException If an I/O error occurs

read

Added in API level 1
int read (char[] cbuf)

将字符读入数组。 此方法将阻塞,直到某些输入可用,发生I / O错误或到达流的末尾。

Parameters
cbuf char: Destination buffer
Returns
int The number of characters read, or -1 if the end of the stream has been reached
Throws
IOException If an I/O error occurs

read

Added in API level 1
int read (CharBuffer target)

尝试将字符读入指定的字符缓冲区。 该缓冲区原样用作字符的存储库:唯一的更改是放置操作的结果。 不执行翻转或倒带缓冲器。

Parameters
target CharBuffer: the buffer to read characters into
Returns
int The number of characters added to the buffer, or -1 if this source of characters is at its end
Throws
IOException if an I/O error occurs
NullPointerException if target is null
if target is a read only buffer

ready

Added in API level 1
boolean ready ()

告诉这个流是否准备好被读取。

Returns
boolean True if the next read() is guaranteed not to block for input, false otherwise. Note that returning false does not guarantee that the next read will block.
Throws
IOException If an I/O error occurs

reset

Added in API level 1
void reset ()

重置流。 如果流已被标记,则尝试在标记处重新定位。 如果流未被标记,则尝试以某种适合特定流的方式重置它,例如通过将其重新定位到其起始点。 并非所有的字符输入流都支持reset()操作,有些支持reset()而不支持mark()。

Throws
IOException If the stream has not been marked, or if the mark has been invalidated, or if the stream does not support reset(), or if some other I/O error occurs

skip

Added in API level 1
long skip (long n)

跳过字符。 此方法将阻塞,直到某些字符可用,发生I / O错误或到达流的末尾。

Parameters
n long: The number of characters to skip
Returns
long The number of characters actually skipped
Throws
IllegalArgumentException If n is negative.
IOException If an I/O error occurs

Hooray!