当前位置: 首页 > 教程 > Java IO流 >

Java BufferedInputStream

精华
小牛编辑
178浏览
2023-03-14

1 什么是Java BufferedInputStream

Java BufferedInputStream 类用于从Stream读取信息。它在内部使用缓冲机制来提高性能。

关于BufferedInputStream的要点是:

  • 当跳过或读取流中的字节时,内部缓冲区自动从包含的输入流中重新填充,一次填充多个字节。
  • 创建BufferedInputStream时,将创建一个内部缓冲区数组。

2 Java BufferedInputStream的语法

public class BufferedInputStream extends FilterInputStream  

3 Java BufferedInputStream的构造方法

构造方法 描述
BufferedInputStream(InputStream IS) 创建BufferedInputStream并将其参数(输入流IS)保存起来以备后用。
BufferedInputStream(InputStream IS, int size) 创建具有指定缓冲区大小的BufferedInputStream,并将其参数(输入流IS)保存起来以备后用。

4 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方法。

5 Java BufferedInputStream的例子

让我们看一个使用BufferedInputStream 读取文件数据的简单示例:

package cn.xnip;

/**
 * 小牛知识库网: https://www.xnip.cn
 */
/**
 *  Java BufferedInputStream的例子
 */
import java.io.*;

public class Demo{

    public static void main(String args[]){
        try{
            FileInputStream fin=new FileInputStream("D:\\xnip\\test.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);}
    }
}

我们假设您在已经建立"test.txt”且内容为:

Welcome to Yiidian.

以上程序输出结果为:

Welcome to Yiidian.