缓冲字节流:
- 我们先说一下缓存区的概念:
缓冲区就好比一辆车,一车一车的把数据拉走,这样就效率快多了
按照流的方向分类:
- 写入数据到流中,字节缓冲输出流 BufferedOutputStream
- 读取流中的数据,字节缓冲输入流 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(); //关闭字节流 } } }
缓冲字节流的毫秒值:
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(); //关闭字节流 } } }
只用了63毫秒,比之前的字节流效率提高了4倍!