「这是我参与2022首次更文挑战的第10天,活动详情查看:2022首次更文挑战」。
前言
大家好,我是程序猿小白 gw_Gw,很高兴能和大家一起学习进步。
以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。
摘要
本文主要介绍BufferedInputStream字节缓冲流的基本概念和使用,以及常用IO流的总结对比。
欢迎关注专栏IO流学习了解更多IO流。
BufferedInputStream使用字节缓冲流读取文件
1. 什么是BufferedInputStream
FilterInputStream的子类,加强版的字节输入流。
2. BufferedInputStream的构造方法
BufferedInputStream(InputStream in)
创建一个 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。
BufferedInputStream(InputStream in, int size)
创建具有指定缓冲区大小的 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。
实例展示:
String path = "FileDemo\src\main\java\FileDemo\1.txt";
File file=new File(path);
//默认缓冲区大小8192
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
//指定缓冲区大小
BufferedInputStream bis1 = new BufferedInputStream(new FileInputStream(file),2048);
3. BufferedInputStream的常用方法
void close()
关闭此输入流并释放与该流关联的所有系统资源。
int read()
参见 InputStream 的 read 方法的常规协定。
int read(byte[] b)
从此输入流中将 byte.length 个字节的数据读入一个 byte 数组中。
int read(byte[] b, int off, int len)
从此字节输入流中给定偏移量处开始将各字节读取到指定的 byte 数组中。
实例展示:
int b=0;
byte[] bytes = new byte[1024];
bis.read();
bis.read(bytes,0,32);
while((b=bis.read(bytes))!=-1){
System.out.println(new String(bytes,0,b));
}
bis.close();
4. IO流小结
| 字节流 | 参数 | 作用 |
|---|---|---|
| FileOutputStream | (File file) (File file,boolean append) (String filePath) (String filePath,boolean append) | 以字节为单位写入文件,多用于音频图像等原始字节流。 |
| FileInputStream | (File file) (String filePath) | 以字节为单位读取文件,多用于音频图像等原始字节流。 |
| 字符流 | 参数 | 作用 |
|---|---|---|
| FileWriter | (File file) (File file,boolean append) (String filePath) (String filePath,boolean append) | 以字符为单位写入文件。 |
| FileReader | (File file) (String filePath) | 以字符为单位读取文件。 |
| 转换流 | 参数 | 作用 |
|---|---|---|
| OutputStreamWriter | (OutputStream out) (OutputStream out, Charset cs) (OutputStream out, CharsetEncoder enc) (OutputStream out, String charsetName) 参数一般使用其子类FileOutputStream | 使用指定的编码方式写入文件。 |
| InputStreamReader | (InputStream in) (InputStream in, Charset cs) (InputStream in, CharsetEncoder enc) (InputStream in, String charsetName) 参数一般使用其子类FileInputStream | 使用指定的编码方式读取文件。 |
| 缓冲流 | 参数 | 作用 |
|---|---|---|
| BufferedOuputStream | (OutputStream out, int size) (OutputStream out) 参数一般使用其子类FIleOutputStream | |
| BufferedInputStream | (InputStream in, int size) (InputStream in) 参数一般使用其子类FileInputStream | |
| BufferedWriter | (Writer out, int size) (Writer out) 参数一般使用其子类FileWriter和OutputStreamWriter | 特殊方法newLine() |
| BufferedReader | (Reader in, int size) (Reader in) 参数一般使用其子类FileReader和InputStreamReader | 特殊方法readLine() |
小结
以上就是关于BufferedInputStream字节缓冲流的介绍和常用IO流的总结,希望对读者有所帮助,如有不正之处,欢迎留言指正。