缓冲字节流:

  1. 我们先说一下缓存区的概念:

IO流的总结(二)-LMLPHP

缓冲区就好比一辆车,一车一车的把数据拉走,这样就效率快多了

按照流的方向分类:

  1. 写入数据到流中,字节缓冲输出流 BufferedOutputStream
  2. 读取流中的数据,字节缓冲输入流 BufferedInputStream

缓冲字节输入流与字节流输入的比较:

字节流的毫秒值

package com.itheima.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; public class Test { public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
File file=null;
file=new File("C:\\Users\\Administrator\\Desktop\\爱剪辑-我的视频.mp4");
//一个视频文件
FileInputStream in=new FileInputStream(file);
//字节流
long star= System.currentTimeMillis();
//流开始的毫秒值
byte[] by=new byte[1024];
//字节数组用来存放数据
while (in.read(by) !=-1) {
//如果不等于-1那么还能读到数据 }
long end= System.currentTimeMillis();
//流结束的毫秒值
System.out.println("字节流读取文件的毫秒是"+(end-star));
if (in!=null) {
in.close();
//关闭字节流
}
} }

IO流的总结(二)-LMLPHP

缓冲字节流的毫秒值:

package com.itheima.test;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException; public class Test { public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
File file=null;
file=new File("C:\\Users\\Administrator\\Desktop\\爱剪辑-我的视频.mp4");
//一个视频文件
FileInputStream in=new FileInputStream(file);
//字节流
long star= System.currentTimeMillis();
//流开始的毫秒值
BufferedInputStream bi=null;
bi=new BufferedInputStream(in);
//缓冲字节流
byte[] by=new byte[1024];
//字节数组用来存放数据
while (bi.read(by) !=-1) {
//如果不等于-1那么还能读到数据 }
long end= System.currentTimeMillis();
//流结束的毫秒值
System.out.println("缓冲字节流读取文件的毫秒是"+(end-star));
if (bi !=null) {
bi.close();
//关闭缓冲字节流
}
if (in!=null) {
in.close();
//关闭字节流
}
} }

IO流的总结(二)-LMLPHP

只用了63毫秒,比之前的字节流效率提高了4倍!

05-11 18:14