- BufferInputStream:创建一个内部缓冲区数组,当从内读取和
跳过字节时,内部缓冲区根据需要从包含的输入流重新填充,一次多个字节。 - BufferOutputStream:缓冲输出流。程序向底层输出流写字节,不必写每一个字节而导致底层系统的调用。
构造方法:
BufferInputStream(InputStream in):字节缓冲输入流
BufferOutputStream(OutputStream out):字节缓冲输出流
为什么构造方法用字节流,而不是文件或路径呢?
字节缓冲流:提供的是缓冲区,读写数据还得靠字节流对象。
练习代码:
package File_Demo;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class File_demo9 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//创建字节缓冲流
BufferedOutputStream outFile = new BufferedOutputStream(new FileOutputStream("D:\\JAVA\\java.txt"));
outFile.write("hhhhh\r\n".getBytes());
outFile.close();
BufferedInputStream inFile = new BufferedInputStream(new FileInputStream("D:\\JAVA\\java.txt"));
//读取一个字节
// int by;
// while((by = inFile.read())!= -1) {
// System.out.println((char)by);
// }
// inFile.close();
//读取字节数组
int len;
byte[] b = new byte[1024];
while(((len = inFile.read(b))!=-1)) {
System.out.println(new String(b,0,len));
}
inFile.close();
}
}