该类实现缓冲流,通过设置这样的缓冲流应用程序可以向底层输出流写入字节或向底层输入流读取字节,而不必为写入或读取的每个字节导致底层系统的调用
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Bbuffer {
public static void main(String[] args) throws IOException {
//构造方法
//BufferedOutputStream(OutputStream out) 创建一个新的缓冲输出流,以将数据写入指定的底层输出流
//BufferedOutputStream(OutputStream out,int size) 创建一个新的缓冲输出流,以便以指定缓冲区大小(size)将数据写入指定的底层输出流
//构造方法需要的是字节流,而不是具体文件或者路径,因为字节缓冲流仅仅提供缓冲区,而真正的读写数据还得依靠基本的字节流对象进行操作
//字节缓冲输出流
BufferedOutputStream b=new BufferedOutputStream(new FileOutputStream("D:\\FILE\\f.txt"));
b.write("helloworld".getBytes());
b.write("hello".getBytes());//字节缓冲输出流可以一直追加写入,如果是字节输出流,第二次写入的内容会覆盖上一次写入的内容
b.close();//不释放资源,txt文件上是没有内容被写入的,因为都被暂存到缓冲区了
//或者使用方法 public void flush() :刷新此输出流并强制任何缓冲的输出字节被写出
//字节缓冲输入流
BufferedInputStream bb=new BufferedInputStream(new FileInputStream("D:\\FILE\\ff.txt"));
int i=0;
while( (i=bb.read())!=-1 ) {
System.out.print(i);
}
bb.close();
}
}