缓冲字节流
默认有8192字节的缓冲区
package com.wkcto.chapter06.filterstream;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
* 字节缓冲流
* BufferedInputStream/BufferedOutputStream
* @author 蛙课网
*
*/
public class Test01 {
public static void main(String[] args) throws IOException {
//1)使用字节缓冲流读取文件内容
// readData();
//2)使用字节缓冲流保存数据到文件
writeData();
}
//使用字节缓冲流保存数据到文件
private static void writeData() throws IOException {
//在当前程序与指定的文件间建立字节流通道
OutputStream out = new FileOutputStream("d:/def.txt");
//使用字节缓冲流对out字节流进行包装(缓冲)
BufferedOutputStream bos = new BufferedOutputStream(out);
//使用缓冲流保存数据, 现在是把数据保存到缓冲流的缓冲区中
bos.write(97);
byte[] bytes = "wkcto is a good websit".getBytes();
bos.write(bytes);
// bos.flush(); //把缓冲区的数据清空到文件里
bos.close();
}
//使用字节缓冲流读取文件内容
private static void readData() throws IOException {
//在当前程序与指定的文件之间建立字节 流通道
InputStream in = new FileInputStream("d:/abc.txt");
//对字节流进行缓冲
BufferedInputStream bis = new BufferedInputStream(in);
//使用缓冲字节流读取文件内容
int cc = bis.read();
while( cc != -1){
System.out.print( (char)cc );
cc = bis.read();
}
bis.close(); //关闭缓冲流, 也会把被包装的字节流关闭
}
}