BufferedlnputStream 类和 BufferedOutputStream 类
BufferedlnputStream类,其父类为FilterlnputStream类,也是InputStream类的子类,可以为输入 流对象提供缓存区的功能,用来提高数据读取效率。创建一个BufferedlnputStream对象时,必须先指定一个InputStream类型的实例对象,具体有以下两种构造方法:
Buffere(lInputStream(InpulSLream in);//创建一个默认缓存区为8192字节的输人流对象 Buffere(lnputStream(InputStream in, int size);〃创建指定缓存区的输人流对象,其中size为缓存大小,单位为字节
BufferedlnputStfeam类中的方法都是从InputStream类中继承而来,使用方法与InputStream类中的 方法一样3 BuffcredlnputSteam类本质上是通过一个内部的缓存区数组实现的,当使用read()方法读 取输人流数据时,会将输人流数据分批次填充到缓存区中,每当一个缓存区数据读完后,输入流 会再次填充数据缓存区,如此反复直到读取完所有输入流数据。
import java.io.BufferedInputStream;
import java.io.FileInputStream;
//BufferedInputStream类示例
public class BufferedDemo {
public static void main(String[] args) {
try {
FileInputStream input = new FileInputStream("data.txt");
BufferedInputStream bufferInput = new BufferedInputStream(input);
String content = null;
//定义一个缓冲区
byte[] buffer = new byte[1024];
int flag = 1;
while ((flag = bufferInput.read(buffer)) != -1) {
content += new String(buffer,0,flag);
}
System.out.println("输出缓存内容为:");
System.out.println(content);
bufferInput.close(); // 关闭流 )
} catch (Exception e) {
e.printStackTrace();
}
}
}
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>