• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
阿海在学Java
博客园    首页    新随笔    联系   管理    订阅  订阅

IO流的总结(二)

缓冲字节流:

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

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

按照流的方向分类:

  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();
            //关闭字节流
        }
    }

}

缓冲字节流的毫秒值:

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倍!

你不会的东西,觉得难的东西,一定不要躲。先搞明白,后精湛,你就比别人优秀了。因为大部分人都不舍得花力气去钻研,自动淘汰,所以你执着的努力,就占了大便宜。奋斗就是每一天都很难,可一年比一年容易。不奋斗就是每一天都很容易,可一年比一年越难。怕吃苦的人吃苦一辈子,不怕吃苦的人吃苦一阵子。拼一个春夏秋冬,赢一个无悔人生
posted @ 2018-09-27 22:35  阿海在学Java  阅读(98)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3