鸿蒙OS开发文档 第11页
DataInputStream java.lang.Object |—java.io.InputStream |—|—java.io.FilterInputStream |—|—|—java.io.DataInputStream public class DataInputStream extends FilterInputStream implements DataInput 数据输入流允许应用程序以与机器无关的方式从底层输入流中读取原始 Java 数据类型。 应用程序使用数据输出流写入数据,这些数据稍后可以由数据输入流读取。 DataInputStream 对于多线程访问不一定是安全的。 线程安全是可选的,并且是此类中方法的用户的责任。 Since: JDK1.0 字段摘要 从类 java.io.FilterInputStream 继承的字段 in 构造函数摘要 构造函数 描述 DataInputStream(InputStream in) 创建一个使用指定基础 InputStream 的 DataInputStream。 方法总结 修饰符和类型 方法 描述 int read(byte[] b) 从包含的输入流中读取一些字节并将它们存储到缓冲区数组中 b。 int read(byte[] b, int off, int len) 从包含的输入流中读取最多 len 个字节的数据到一个字节数组中。 boolean readBoolean() 请参阅 DataInput 的 readBoolean 方法的一般约定。 byte readByte() 请参阅 DataInput 的 readByte 方法的一般约定。 char readChar() 请参阅 DataInput 的 readChar 方法的一般约定。 double readDouble() 请参阅 DataInput 的 readDouble 方法的一般约定。 float readFloat() 请参阅 DataInput 的 readFloat 方法的一般约定。 void readFully(byte[] b) 请参阅 DataInput 的 readFully 方法的一般约定。 void readFully(byte[] b, int off, int len) 请参阅 DataInput 的 readFully 方法的一般约定。 int readInt() 请参阅 DataInput 的 readInt 方法的一般约定。 String readLine() 已弃用。 此方法不能正确地将字节转换为字符。 从 JDK 1.1 开始,读取文本行的首选方法是通过 BufferedReader.readLine() 方法。 使用 DataInputStream 类读取行的程序可以通过替换形式的代码转换为使用 BufferedReader 类 long readLong() 请参阅 DataInput 的 readLong 方法的一般约定。 short readShort() 请参阅 DataInput 的 readShort 方法的一般约定。 int readUnsignedByte() 请参阅 DataInput 的 readUnsignedByte 方法的一般约定。 int readUnsignedShort() 请参阅 DataInput 的 readUnsignedShort 方法的一般约定。 String readUTF() 请参阅 DataInput 的 readUTF 方法的一般约定。 static String readUTF(DataInput in) 从流中读取以修改的 UTF-8 格式编码的 Unicode 字符串的表示形式; 然后这个字符串作为字符串返回。 int skipBytes(int n) 请参阅 DataInput 的 skipBytes 方法的一般协定。 从类 java.io.FilterInputStream 继承的方法 available, close, mark, markSupported, read, reset, skip 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 构造函数详细信息 DataInputStream public DataInputStream(InputStream in) 创建一个使用指定基础 InputStream 的 DataInputStream。 参数: 参数名称 参数描述 in 指定的输入流 方法详情 read public final int read(byte[] b) throws IOException...
Console java.lang.Object |—java.io.Console public final class Console extends Object implements Flushable 访问与当前 Java 虚拟机关联的基于字符的控制台设备(如果有)的方法。 虚拟机是否具有控制台取决于底层平台以及调用虚拟机的方式。 如果虚拟机从交互式命令行启动而不重定向标准输入和输出流,那么它的控制台将存在,并且通常会连接到启动虚拟机的键盘和显示器。 如果虚拟机是自动启动的,例如通过后台作业调度程序,那么它通常不会有控制台。 如果这个虚拟机有一个控制台,那么它由这个类的一个唯一实例表示,可以通过调用 System.console() 方法获得。 如果没有可用的控制台设备,则调用该方法将返回 null。 读写操作同步,保证关键操作的原子完成; 因此,调用方法 readLine()、readPassword()、format()、printf() 以及对 reader() 和 writer() 返回的对象的读取、格式化和写入操作可能会在多线程场景中阻塞。 对 reader() 和 writer() 返回的对象调用 close() 不会关闭这些对象的底层流。 当到达控制台输入流的末尾时,控制台读取方法返回 null,例如通过在 Unix 上键入 control-D 或在 Windows 上键入 control-Z。 如果稍后在控制台的输入设备上输入其他字符,则后续读取操作将成功。 除非另有说明,否则将 null 参数传递给此类中的任何方法都将导致抛出 NullPointerException。 安全说明:如果应用程序需要读取密码或其他安全数据,则应使用 readPassword() 或 readPassword(java.lang.String,java.lang.Object…) 并在处理后手动将返回的字符数组归零 最小化内存中敏感数据的生命周期。 Console cons; char[] passwd; if ((cons = System.console()) != null && (passwd = cons.readPassword("[%s]", "Password:")) != null) { ... java.util.Arrays.fill(passwd, ' '); } Since: 1.6 方法总结 修饰符和类型 方法 描述 void flush() 刷新控制台并强制立即写入任何缓冲的输出。 Console format(String fmt, Object… args) 使用指定的格式字符串和参数将格式化字符串写入此控制台的输出流。 Console printf(String format, Object… args) 使用指定的格式字符串和参数将格式化字符串写入此控制台的输出流的便捷方法。 Reader reader() 检索与此控制台关联的唯一 Reader 对象。 String readLine() 从控制台读取一行文本。 String readLine(String fmt, Object… args) 提供格式化提示,然后从控制台读取一行文本。 char[] readPassword() 从禁用回显的控制台读取密码或密码 char[] readPassword(String fmt, Object… args) 提供格式化提示,然后从禁用回显的控制台读取密码或密码。 PrintWriter writer() 检索与此控制台关联的唯一 PrintWriter 对象。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 方法详情 writer public...
CharArrayWriter java.lang.Object |—java.io.Writer |—|—java.io.CharArrayWriter public class CharArrayWriter extends Writer 此类实现了一个可用作 Writer 的字符缓冲区。 当数据写入流时,缓冲区会自动增长。 可以使用 toCharArray() 和 toString() 检索数据。 注意:在这个类上调用 close() 没有任何效果,并且可以在流关闭后调用该类的方法而不会产生 IOException。 Since: JDK1.1 字段摘要 修饰符和类型 字段 描述 protected char[] buf 存储数据的缓冲区。 protected int count 缓冲区中的字符数。 从类 java.io.Writer 继承的字段 lock 构造函数摘要 构造函数 描述 CharArrayWriter() 创建一个新的 CharArrayWriter。 CharArrayWriter(int initialSize) 创建一个具有指定初始大小的新 CharArrayWriter。 方法总结 修饰符和类型 方法 描述 CharArrayWriter append(char c) 将指定的字符附加到这个 writer。 CharArrayWriter append(CharSequence csq) 将指定的字符序列附加到此编写器。 CharArrayWriter append(CharSequence csq, int start, int end) 将指定字符序列的子序列附加到此编写器。 void close() 关闭流。 void flush() 冲洗流。 void reset() 重置缓冲区,以便您可以再次使用它而不会丢弃已分配的缓冲区。 int size() 返回缓冲区的当前大小。 char[] toCharArray() 返回输入数据的副本。 String toString() 将输入数据转换为字符串。 void write(char[] c, int off, int len) 将字符写入缓冲区。 void write(int c) 将一个字符写入缓冲区。 void write(String str, int off, int len) 将字符串的一部分写入缓冲区。 void writeTo(Writer out) 将缓冲区的内容写入另一个字符流。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait 从类 java.io.Writer 继承的方法 write, write 字段详细信息 buf protected char[] buf 存储数据的缓冲区。 count protected int count 缓冲区中的字符数。 构造函数详细信息 CharArrayWriter public CharArrayWriter() 创建一个新的 CharArrayWriter。 CharArrayWriter public CharArrayWriter(int initialSize) 创建一个具有指定初始大小的新 CharArrayWriter。 参数:...
CharArrayReader java.lang.Object |—java.io.Reader |—|—java.io.CharArrayReader public class CharArrayReader extends Reader 此类实现了一个可用作字符输入流的字符缓冲区。 Since: JDK1.1 字段摘要 修饰符和类型 字段 描述 protected char[] buf 字符缓冲区。 protected int count 此缓冲区结束的索引。 protected int markedPos 缓冲区中标记的位置。 protected int pos 当前缓冲区位置。 从类 java.io.Reader 继承的字段 lock 构造函数摘要 构造函数 描述 CharArrayReader(char[] buf) 从指定的字符数组创建一个 CharArrayReader。 CharArrayReader(char[] buf, int offset, int length) 从指定的字符数组创建一个 CharArrayReader。 方法总结 修饰符和类型 方法 描述 void close() 关闭流并释放与其关联的任何系统资源。 void mark(int readAheadLimit) 标记流中的当前位置。 boolean markSupported() 告诉这个流是否支持 mark() 操作,它支持。 int read() 读取单个字符。 int read(char[] b, int off, int len) 将字符读入数组的一部分。 boolean ready() 告诉这个流是否准备好被读取。 void reset() 将流重置为最新标记,如果从未标记,则重置为开头。 long skip(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 要读取的第一个字符的偏移量...
ByteArrayOutputStream java.lang.Object |—java.io.OutputStream |—|—java.io.ByteArrayOutputStream public class ByteArrayOutputStream extends OutputStream 该类实现了一个输出流,其中的数据被写入一个字节数组。当数据被写入时,缓冲区会自动增长。数据可以用toByteArray()和toString()来检索。 关闭ByteArrayOutputStream没有效果。这个类中的方法可以在流被关闭后被调用而不产生IOException。 Since: JDK1.0 字段总结 修饰符和类型 字段 描述 protected byte[] buf 存储数据的缓冲区。 protected int count 缓冲区内的有效字节数。 构造函数摘要 构造函数 描述 ByteArrayOutputStream() 创建一个新的字节数组输出流。 ByteArrayOutputStream(int size) 创建一个新的字节数组输出流,其缓冲区的容量为指定的字节数。 方法总结 修饰符和类型 方法 描述 void close() 关闭一个ByteArrayOutputStream没有任何效果。 void reset() 将该字节数组输出流的count字段重置为0,这样,输出流中当前累积的所有输出都被丢弃。 int size() 返回缓冲区的当前大小。 byte[] toByteArray() 创建一个新分配的字节数组。 String toString() 将缓冲区的内容转换成字符串,使用平台的默认字符集对字节进行解码。 String toString(int hibyte) 弃用。这个方法不能正确地将字节转换成字符。从JDK 1.1开始,首选的方法是通过toString(String enc)方法,它需要一个编码名称参数,或者通过toString()方法,它使用平台的默认字符编码。 String toString(String charsetName) 通过使用指定的字符集对字节进行解码,将缓冲区的内容转换为字符串。 void write(byte[] b, int off, int len) 从偏移量off处开始,将指定的字节数的len字节写到这个字节数的输出流中。 void write(int b) 将指定的字节写入这个字节数组的输出流中。 void writeTo(OutputStream out) 将此字节数组输出流的全部内容写入指定的输出流参数,就像使用out.write(buf, 0, count)调用输出流的写入方法一样。 从java.lang.Object类继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait 从java.io.OutputStream类继承的方法 flush, write 字段详细信息 buf protected byte[] buf 存储数据的缓冲区。 count protected int count 缓冲区内的有效字节数。 构造函数详细信息 ByteArrayOutputStream public ByteArrayOutputStream() 创建一个新的字节数组输出流。缓冲区的容量最初为32字节,但如果有必要,其大小会增加。 ByteArrayOutputStream public ByteArrayOutputStream(int size) 创建一个新的字节数组输出流,其缓冲区的容量为指定的字节数。 参数。 参数名称 参数描述 size 初始尺寸。 Throws: Throw名称 Throw描述 IllegalArgumentException 如果尺寸为负数。 方法详情 write public void write(int b) 将指定的字节写入这个字节数组的输出流中。 指定的是: write in class OutputStream 参数。 参数名称 参数描述 b 要写入的字节。 write public void write(byte[]...
ByteArrayInputStream java.lang.Object |—java.io.InputStream |—|—java.io.ByteArrayInputStream public class ByteArrayInputStream extends InputStream ByteArrayInputStream 包含一个内部缓冲区,其中包含可以从流中读取的字节。 内部计数器跟踪读取方法提供的下一个字节。 关闭 ByteArrayInputStream 无效。 可以在流关闭后调用此类中的方法,而不会生成 IOException。 Since: JDK1.0 字段摘要 修饰符和类型 字段 描述 protected byte[] buf 由流的创建者提供的字节数组。 protected int count 比输入流缓冲区中最后一个有效字符大一的索引。 protected int mark 流中当前标记的位置。 protected int pos 要从输入流缓冲区读取的下一个字符的索引。 构造函数摘要 构造函数 描述 ByteArrayInputStream(byte[] buf) 创建一个ByteArrayInputStream,使其使用buf作为其缓冲区阵列。 ByteArrayInputStream(byte[] buf, int offset, int length) 创建ByteArrayInputStream,使用buf作为其缓冲区阵列。 方法总结 修饰符和类型 方法 描述 int available() 返回可以从该输入流中读取(或跳过)的剩余字节数。 void close() 关闭一个ByteArrayInputStream没有任何效果。 void mark(int readAheadLimit) 设置流中的当前标记位置。 boolean markSupported() 测试这个InputStream是否支持mark/reset。 int read() 从这个输入流中读取下一个字节的数据。 int read(byte[] b, int off, int len) 从这个输入流中读取最多为len字节的数据到一个字节数组。 void reset() 将缓冲区重置到标记位置。 long skip(long n) 从这个输入流中跳过n个字节的输入。 从java.io.InputStream类继承的方法 read 从java.lang.Object类继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 字段详细信息 buf protected byte[] buf 一个由流的创建者提供的字节数组。buf[0]到buf[count-1]元素是唯一可以从流中读取的字节;buf[pos]元素是下一个要读取的字节。 count protected int count 比输入流缓冲区中最后一个有效字符大一的索引。这个值应该总是非负的,并且不大于buf的长度。它比可以从输入流缓冲区读取的buf中最后一个字节的位置大一。 mark protected int mark 当前在流中标记的位置。ByteArrayInputStream对象在构造时默认标记在零位置。它们可以通过mark()方法标记在缓冲区的另一个位置。当前的缓冲区位置被reset()方法设置为这个点。 如果没有设置标记,那么标记的值就是传递给构造函数的偏移量(如果没有提供偏移量,则为0)。 Since: JDK1.1 pos protected int pos 从输入流缓冲区读取下一个字符的索引。这个值应该总是非负的,并且不大于count的值。要从输入流缓冲区读取的下一个字节将是buf[pos]。 构造函数详细信息 ByteArrayInputStream public ByteArrayInputStream(byte[] buf) 创建一个ByteArrayInputStream,使其使用buf作为其缓冲区阵列。缓冲区数组不会被复制。pos的初始值是0,count的初始值是buf的长度。 参数。 参数名称 参数描述 buf 输入缓冲区。 ByteArrayInputStream public ByteArrayInputStream(byte[] buf, int offset, int length) 创建ByteArrayInputStream,使用buf作为其缓冲阵列。pos的初始值是offset,count的初始值是offset+length和buf.length的最小值。缓冲区数组不被复制。缓冲区的标记被设置为指定的偏移量。 参数。 参数名称...
BufferedWriter java.lang.Object |—java.io.Writer |—|—java.io.BufferedWriter public class BufferedWriter extends Writer 将文本写入字符输出流,缓冲字符,以便高效写入单个字符、数组和字符串。 可以指定缓冲区大小,也可以接受默认大小。 对于大多数用途,默认值足够大。 提供了一个 newLine() 方法,它使用系统属性 line.separator 定义的平台自己的行分隔符概念。 并非所有平台都使用换行符 (‘\n’) 来终止行。 因此,调用此方法来终止每个输出行优于直接写入换行符。 通常,Writer 将其输出立即发送到底层字符或字节流。 除非需要快速输出,否则建议将 BufferedWriter 包装在任何 write() 操作可能代价高昂的 Writer 周围,例如 FileWriters 和 OutputStreamWriters。 例如, PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("foo.out"))); 将 PrintWriter 的输出缓冲到文件中。 如果没有缓冲,每次调用 print() 方法都会导致字符转换为字节,然后立即写入文件,这可能非常低效。 Since: JDK1.1 字段摘要 从类 java.io.Writer 继承的字段 lock 构造函数摘要 构造函数 描述 BufferedWriter(Writer out) 创建使用默认大小的输出缓冲区的缓冲字符输出流。 BufferedWriter(Writer out, int sz) 创建一个使用给定大小的输出缓冲区的新缓冲字符输出流。 方法总结 修饰符和类型 方法 描述 void close() 关闭流,首先刷新它。 void flush() 冲洗流。 void newLine() 写入行分隔符。 void write(char[] cbuf, int off, int len) 写入字符数组的一部分。 void write(int c) 写入单个字符。 void write(String s, int off, int len) 写入字符串的一部分。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 从类 java.io.Writer 继承的方法 append, append, append, write, write 构造函数详细信息 BufferedWriter public BufferedWriter(Writer out) 创建使用默认大小的输出缓冲区的缓冲字符输出流。 参数: 参数名称 参数描述 out 输入流 BufferedWriter public BufferedWriter(Writer out, int sz) 创建一个使用给定大小的输出缓冲区的新缓冲字符输出流。 参数: 参数名称 参数描述 out 输入流 sz 输出缓冲区大小,一个正整数 Throws: Throw名称 Throw描述 IllegalArgumentException...
BufferedReader java.lang.Object |—java.io.Reader |—|—java.io.BufferedReader public class BufferedReader extends Reader 从字符输入流中读取文本,缓冲字符,以便高效读取字符、数组和行。 可以指定缓冲区大小,也可以使用默认大小。 对于大多数用途,默认值足够大。 通常,由 Reader 发出的每个读取请求都会导致对底层字符或字节流发出相应的读取请求。 因此,建议将 BufferedReader 包装在 read() 操作可能成本高昂的任何 Reader 周围,例如 FileReaders 和 InputStreamReaders。 例如, BufferedReader in = new BufferedReader(new FileReader("foo.in")); 将缓冲来自指定文件的输入。 如果没有缓冲,每次调用 read() 或 readLine() 都可能导致从文件中读取字节,转换为字符,然后返回,这可能非常低效。 使用 DataInputStreams 进行文本输入的程序可以通过将每个 DataInputStream 替换为适当的 BufferedReader 来本地化。 Since: JDK1.1 字段摘要 从类 java.io.Reader 继承的字段 lock 构造函数摘要 构造函数 描述 BufferedReader(Reader in) 创建一个使用默认大小的输入缓冲区的缓冲字符输入流。 BufferedReader(Reader in, int sz) 创建一个使用指定大小的输入缓冲区的缓冲字符输入流。 方法总结 修饰符和类型 方法 描述 void close() 关闭流并释放与其关联的任何系统资源。 StreamString lines() 返回一个 Stream,其元素是从此 BufferedReader 读取的行。 void mark(int readAheadLimit) 标记流中的当前位置。 boolean markSupported() 告诉这个流是否支持 mark() 操作,它支持。 int read() 读取单个字符。 int read(char[] cbuf, int off, int len) 将字符读入数组的一部分。 String readLine() 读取一行文本。 boolean ready() 告诉这个流是否准备好被读取。 void reset() 将流重置为最新标记。 long skip(long n) 跳过字符。 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 从类 java.io.Reader 继承的方法 read, read 构造函数详细信息 BufferedReader public BufferedReader(Reader in, int sz) 创建一个使用指定大小的输入缓冲区的缓冲字符输入流。 参数: 参数名称 参数描述 in 输入流 sz 输入缓冲区大小 Throws: Throw名称 Throw描述 IllegalArgumentException...
BufferedOutputStream java.lang.Object |—java.io.OutputStream |—|—java.io.FilterOutputStream |—|—|—java.io.BufferedOutputStream public class BufferedOutputStream extends FilterOutputStream 该类实现了一个缓冲的输出流。 通过设置这样的输出流,应用程序可以将字节写入底层输出流,而不必为每个写入的字节调用底层系统。 Since: JDK1.0 字段摘要 修饰符和类型 字段 描述 protected byte[] buf 存储数据的内部缓冲区。 protected int count 缓冲区中的有效字节数。 从类 java.io.FilterOutputStream 继承的字段 out 构造函数摘要 构造函数 描述 BufferedOutputStream(OutputStream out) 创建一个新的缓冲输出流以将数据写入指定的基础输出流。 BufferedOutputStream(OutputStream out, int size) 创建一个新的缓冲输出流,以将数据写入具有指定缓冲区大小的指定基础输出流。 方法总结 修饰符和类型 方法 描述 void flush() 刷新此缓冲输出流。 void write(byte[] b, int off, int len) 从偏移量 off 开始的指定字节数组中写入 len 个字节到此缓冲输出流。 void write(int b) 将指定字节写入此缓冲输出流。 从类 java.io.FilterOutputStream 继承的方法 close, write 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 字段详细信息 buf protected byte[] buf 存储数据的内部缓冲区。 count protected int count 缓冲区中的有效字节数。 该值始终在 0 到 buf.length 的范围内; 元素 buf[0] 到 buf[count-1] 包含有效的字节数据。 构造函数详细信息 BufferedOutputStream public BufferedOutputStream(OutputStream out) 创建一个新的缓冲输出流以将数据写入指定的基础输出流。 参数: 参数名称 参数描述 out 底层输出流。 BufferedOutputStream public BufferedOutputStream(OutputStream out, int size) 创建一个新的缓冲输出流,以将数据写入具有指定缓冲区大小的指定基础输出流。 参数: 参数名称 参数描述 out 底层输出流。 size 缓冲区大小。 Throws: Throw名称 Throw描述 IllegalArgumentException 如果 size <= 0. 方法详情 write public void write(int b) throws IOException 将指定字节写入此缓冲输出流。 覆盖: 写在类 FilterOutputStream 参数:...
BufferedInputStream java.lang.Object |—java.io.InputStream |—|—java.io.FilterInputStream |—|—|—java.io.BufferedInputStream public class BufferedInputStream extends FilterInputStream BufferedInputStream 向另一个输入流添加了功能,即缓冲输入并支持标记和重置方法的能力。 创建 BufferedInputStream 时,会创建一个内部缓冲区数组。 当流中的字节被读取或跳过时,内部缓冲区会根据需要从包含的输入流中重新填充,一次很多字节。 标记操作会记住输入流中的一个点,并且重置操作会导致在从包含的输入流中获取新字节之前重新读取自最近一次标记操作以来读取的所有字节。 Since: JDK1.0 字段摘要 修饰符和类型 字段 描述 protected byte[] buf 存储数据的内部缓冲区数组。 protected int count 比缓冲区中最后一个有效字节的索引大一的索引。 protected int marklimit 在随后调用 reset 方法失败之前调用 mark 方法后允许的最大预读。 protected int markpos 调用最后一个标记方法时 pos 字段的值。 protected int pos 缓冲区中的当前位置。 从类 java.io.FilterInputStream 继承的字段 in 构造函数摘要 构造函数 描述 BufferedInputStream(InputStream in) 创建一个 BufferedInputStream 并保存其参数,即输入流,以供以后使用。 BufferedInputStream(InputStream in, int size) 创建具有指定缓冲区大小的 BufferedInputStream,并保存其参数,即输入流,以供以后使用。 方法总结 修饰符和类型 方法 描述 int available() 返回可以从此输入流中读取(或跳过)的字节数的估计值,而不会被下一次调用此输入流的方法阻塞。 void close() 关闭此输入流并释放与该流关联的所有系统资源。 void mark(int readlimit) 参见 InputStream 的 mark 方法的通用约定。 boolean markSupported() 测试此输入流是否支持 mark 和 reset 方法。 int read() 参见 InputStream 的 read 方法的通用约定。 int read(byte[] b, int off, int len) 从此字节输入流中将字节读取到指定的字节数组中,从给定的偏移量开始。 void reset() 参见 InputStream 的 reset 方法的通用约定。 long skip(long n) 参见 InputStream 的 skip 方法的通用约定。 从类 java.io.FilterInputStream 继承的方法 read 从类 java.lang.Object 继承的方法 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 字段详细信息 buf protected volatile byte[] buf 存储数据的内部缓冲区数组。 必要时,它可以被另一个不同大小的数组替换。 count protected int count 比缓冲区中最后一个有效字节的索引大一的索引。 该值始终在 0 到 buf.length 的范围内; 元素 buf[0] 到 buf[count-1] 包含从底层输入流获得的缓冲输入数据。 marklimit protected int marklimit 在随后调用 reset 方法失败之前调用 mark 方法后允许的最大预读。 每当 pos 和...