本文概述
Java BufferedInputStream类用于从流中读取信息。它在内部使用缓冲机制来提高性能。
关于BufferedInputStream的要点是:
- 当跳过或读取流中的字节时, 内部缓冲区自动从包含的输入流中重新填充, 一次填充多个字节。
- 创建BufferedInputStream时, 将创建一个内部缓冲区数组。
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的示例
让我们看一个使用BufferedInputStream读取文件数据的简单示例:
package com.srcmini;
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”文件中包含以下数据:
srcmini
输出:
srcmini
评论前必须登录!
注册