字节缓冲流
BufferOutputStream :
该类实现缓冲输出流。
通过设置这样的输出流, 应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用。
BufferedInputStream :
创建BufferedInputStream。将创建一个内部缓冲区数组。
当从流中读取或跳过字节时, 内部缓冲区将根据需要从所包含的输入流中重新填充,一次很多字节。
构造方法:
字节缓冲输出流: BufferedOutputStream(OutputStream out)
字节缓冲输入流: BufferedInputStream(InputStream in)
为什么构造方法需要的是字节流,而不是具体的文件或者路径呢?
- 字节缓冲流仅仅提供缓冲区, 而真正的读写数据还得依靠基本的字节流对象进行操作。
public class BufferStreamDemo01 {
public static void main(String[] args) throws IOException {
BufferedOutputStream fos = new BufferedOutputStream(new FileOutputStream("IO.txt"));
// 写数据
fos.write("hello\r\n".getBytes());
fos.write("world\r\n".getBytes());
fos.close();
BufferedInputStream fis = new BufferedInputStream(new FileInputStream("IO.txt"));
// 一次读取一个字节数据
// int by;
// while ((by = fis.read()) != -1) {
// System.out.print((char) by);
// }
// 一次读取一个字节数组数据
byte[] byts = new byte[1024];
int len;
while ((len = fis.read(byts)) != -1) {
System.out.print(new String(byts, 0, len));
}
fis.close();
}
}