Java语言-47:字节缓冲输入流BufferInputStream

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();
}


}

          

猜你喜欢

转载自blog.csdn.net/qq_41833394/article/details/80412440