1、FileInputStream概述:
BufferedInputStream
为另一个输入流添加一些功能。在创建 BufferedInputStream
时,会创建一个内部缓冲区数组。在读取或跳过流中的字节时,可根据需要从包含的输入流再次填充该内部缓冲区,一次填充多个字节
2、FileInputStream的构造方法和功能
1)构造方法:
a、 BufferedInputStream(InputStream in)
创建一个 BufferedInputStream
并保存其参数,即输入流 in
,以便将来使用。
b、BufferedInputStream(InputStream in, int size)
创建具有指定缓冲区大小的 BufferedInputStream
并保存其参数,即输入流 in
,以便将来使用。
2)常用方法:
a、read(byte[] b, int off, int len)
从此字节输入流中给定偏移量处开始将各字节读取到指定的 byte 数组中。
b、read()
:读文件数据
3、FileInputStream的构造方法和常用方法的代码体现
package IO;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
/* 1)构造方法:
* a、 BufferedInputStream(InputStream in)
创建一个 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。
b、BufferedInputStream(InputStream in, int size)
创建具有指定缓冲区大小的 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。
2)常用方法:
a、read(byte[] b, int off, int len)
从此字节输入流中给定偏移量处开始将各字节读取到指定的 byte 数组中。
b、read() :读文件数据
* */
public class BufferedInputStream_method {
public static void main(String[] args) throws Exception {
// 创建缓冲字节流输入对象
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("f.txt"));
// 读取数据
// 一次读取一个字节
int by = 0;
while ((by = bis.read()) != -1) {
System.out.print((char) by);
}
// 一次读取一个字节数组
// 创建字节数组
byte[] bys = new byte[1024];
int len = 0;
while ((len = bis.read(bys)) != -1) {
System.out.println(new String(bys, 0, len));
}
// 释放资源
bis.close();
}
}