Java BufferedInputStream
Java BufferedInputStream用于从流中读取信息。它在内部使用缓冲机制来提高性能。
关于BufferedInputStream的要点是:
当跳过或读取流中的字节时,内部缓冲区会自动从所包含的输入流中重新填充,一次填充多个字节。
创建BufferedInputStream时,将创建内部缓冲区array。
Java BufferedInputStream类声明
让我们看看Java.io.BufferedInputStream类的声明:
public class BufferedInputStream extends FilterInputStream
Java BufferedInputStream类构造函数
构造函数 |
说明 |
BufferedInputStream(InputStream IS) |
它将创建BufferedInputStream并保存其参数(输入流IS)以供以后使用。 |
BufferedInputStream(InputStream IS,int size) |
它将创建具有指定缓冲区大小的BufferedInputStream并将其参数(输入流IS)保存起来以供以后使用。 |
Java BufferedInputStream类方法
方法 |
说明 |
int available() |
它返回一个估计的字节数,该字节数可以从输入流读取而不会被输入流的下一个调用方法阻塞。 |
int read() |
它从输入流中读取下一个数据字节。 |
int read(byte [] b,int off,int ln) |
从给定的偏移量开始,将指定的字节输入流中的字节读入指定的字节数组。 |
void close() |
它将关闭输入流并释放与该流关联的任何系统资源。 |
void reset() |
它将流重新定位在此输入流上最后一次调用mark方法的位置。 |
void mark(int readlimit) |
它看到输入流的mark方法的常规协定。 |
long skip(long x) |
它会跳过并丢弃输入流中的x字节数据。 |
boolean markSupported() |
它测试输入流是否支持mark和reset方法。 |
Java BufferedInputStream的示例
让我们看一下读取 file使用BufferedInputStream:
package com.lidihuo;
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" 文件中具有以下数据:
输出: