字节缓冲流
-
BufferedOutputStream:该类实现缓冲输出流,通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用
BufferedInputStream:创建BufferedInputStream将创建一个内部缓冲区数组。当从流中读取或跳过字节时,内部缓冲区将根据需要从所包含的输入流中重新输入,一次很多字节 -
构造方法:
字节缓冲输出流:BufferedOutputStream(OutputStream out)
字节缓冲输入流:BufferedInputStream(InputStream in) -
为什么构造方法需要的是字节流,而不是具体的文件或者路径呢?
字节缓冲流 仅仅提供缓冲区,而真正的读写数据还得依靠基本的字节流对象进行操作
以图文和代码内容的形式讲解
- 以BufferedInputStream类为例
- 代码:
package Demo;
import java.io.*;
import java.util.*;
public class Demo {
public static void main(String[] args) throws IOException {
//数据源+输入缓冲区
BufferedInputStream inbuf = new BufferedInputStream(new FileInputStream("D:\\item\\Hellow\\src\\java.txt"));
//目的地+输出缓冲区
BufferedOutputStream outbuf = new BufferedOutputStream(new FileOutputStream("D:\\item\\Hellow\\src\\java1.txt"));
//复制文本(有汉字则字节传输)
byte[] bytes = new byte[1024];
int len;
while((len = inbuf.read(bytes))!=-1){
outbuf.write(bytes,0,len);
}
//释放资源
inbuf.close();
outbuf.close();
}
}
- 输出的内容