Java教程

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" 文件中具有以下数据:
lidihuo
输出:
lidihuo
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4