Java教程-Java BufferedInputStream类
整理:Java面试那些事儿
Java BufferedInputStream类用于从流中读取信息。它内部使用缓冲机制来提高性能。
关于BufferedInputStream的重要点如下:
当从流中跳过或读取字节时,内部缓冲区会自动从所包含的输入流中一次性填充许多字节。
创建BufferedInputStream时,会创建一个内部缓冲区数组。
Java BufferedInputStream类声明
让我们看一下Java.io.BufferedInputStream类的声明:
public class BufferedInputStream extends FilterInputStream
Java BufferedInputStream类构造方法
Constructor | Description |
BufferedInputStream(InputStream IS) | 它创建 BufferedInputStream 并保存它的参数,输入流 IS,供以后使用。 |
BufferedInputStream(InputStream IS, int size) | 它创建具有指定缓冲区大小的 BufferedInputStream 并保存它的参数,输入流 IS,供以后使用。 |
Java BufferedInputStream类方法
Method | Description |
int available() | 它返回可以从输入流中读取的估计字节数,而不会被输入流的下一个调用方法阻塞。 |
int read() | 它从输入流中读取下一个字节的数据。 |
int read(byte[] b, int off, int ln) | 它从指定的字节输入流中读取字节到指定的字节数组,从给定的偏移量开始。 |
void close() | 它关闭输入流并释放与该流关联的任何系统资源。 |
void reset() | 它将流重新定位到上次在此输入流上调用标记方法的位置。 |
void mark(int readlimit) | 它看到输入流的标记方法的一般契约 |
long skip(long x) | 它跳过并丢弃输入流中 x 字节的数据。 |
boolean markSupported() | 它测试输入流以支持标记和重置方法。 |
Java BufferedInputStream的示例
让我们看一个简单的示例,使用BufferedInputStream读取文件数据:
package cn.javatiku;
import java.io.*;
public class BufferedInputStreamExample{
public static void main(String args[]){
try{
FileInputStream fin=new FileInputStream("D:\\testout.txt");
BufferedInputStream bin=new BufferedInputStream(fin);
int i;
while((i=bin.read())!=-1){
System.out.print((char)i);
}
bin.close();
fin.close();
}catch(Exception e){System.out.println(e);}
}
}
这里,我们假设您的"testout.txt"文件中有以下数据:
javatiku
输出:
javatiku
我就知道你会点赞+“在看”