缓冲字节流:

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

IO流的总结(二)的更多相关文章

  1. Java io流详解二

    原文地址https://www.cnblogs.com/xll1025/p/6418766.html 一.IO流概述 概述: IO流简单来说就是Input和Output流,IO流主要是用来处理设备之间 ...

  2. java中的io流总结(二)——RandomAccessFile类

    知识点:RandomAccessFile (随机访问文件)类 (一)描述 前一篇博客中https://www.cnblogs.com/shuaifing/p/11490160.html,主要描述Fil ...

  3. 。。。IO流学习之二。。。

    fileReader的用法: import static org.junit.Assert.*; import java.io.File; import java.io.FileNotFoundExc ...

  4. 从零开始学C++之IO流类库(二):文件流(fstream, ifstream, ofstream)的打开关闭、流状态

    一.文件流 ofstream,由ostream派生而来,用于写文件 ifstream,由istream派生而来, 用于读文件 fstream,由iostream派生而来,用于读写文件 二.打开文件 说 ...

  5. 15 IO流(十二)——数据流Data InputStream/OutputStream 未学会

    数据流的引入 Data流的父类是Filter抽象基类,也就是说Data流是装饰流. 数据流可以将数据的类型也一起传输. 数据流的读取写入顺序(数据类型的读写顺序)需要一致. 未完成代码 /** *Da ...

  6. Java IO流总结(二)-示例

    1.使用文件操作的9大方法完成文件的判断 判断文件或目录是否存在 : exits() 返回值boolean型 * 判断是否是文件: isFile() boolean * 判断是否是目录: isDiec ...

  7. IO流总结笔记二

    ​ Reader |--InputStreamReader |--FileReader:专门用于处理文件的字符读取流对象 Writer |--OutputStreamWriter |--FileWri ...

  8. Java IO流学习总结二:File

    Java File类的功能非常强大,利用java基本上可以对文件进行所有操作.首先来看File类的构造函数的源码 /** * Internal constructor for already-norm ...

  9. Java基础-IO流对象之字节缓冲流(BufferedOutputStream与BufferedInputStream)

    Java基础-IO流对象之字节缓冲流(BufferedOutputStream与BufferedInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在我们学习字 ...

随机推荐

  1. 用反卷积(Deconvnet)可视化理解卷积神经网络还有使用tensorboard

    『cs231n』卷积神经网络的可视化与进一步理解 深度学习小白——卷积神经网络可视化(二) TensorBoard--TensorFlow可视化 原文地址:http://blog.csdn.net/h ...

  2. (转) 开运算opening_circle和闭运算closing_circle的异同

    从去除毛刺的策略看开运算opening_circle和闭运算closing_circle的异同 例一:毛刺在往外凸的面上 策略1:分割出黑色部分,然后通过开运算去掉毛刺,再通过原黑色部分区域减去开运算 ...

  3. eclipse 查看变量或方法在什么地方被调用的快捷键和快速显示方法入参提示信息

    为了用eclipse写代码的时候,不用方向键移动光标,可以设置如下快捷键, Line Up:Alt+i   光标向上 Line Down:Alt+k 光标向下 Line Start:Alt+u  移到 ...

  4. android控件RecyclerView中,如何显示自定义分割线以及最后一项去除分割线

    在控件RecyclerView中,分割线DividerItemDecoration类的使用经常见,如果是使用自带的分割线,只需要这样写即可 RecyclerView mRecyclerView; mR ...

  5. VS2017 配置QT5

    QT安装 1. QT下载 2. 安装过程中,组件的选择(图自https://blog.csdn.net/gaojixu/article/details/82185694) 3. 安装完成 VS2017 ...

  6. [LeetCode] Basic Calculator IV 基本计算器之四

    Given an expression such as expression = "e + 8 - a + 5" and an evaluation map such as {&q ...

  7. 扫描系统进程和获取某进程的PID

    扫描系统的所有进程 #include <stdio.h> #include <windows.h> #include <tlhelp32.h> int scan() ...

  8. 【C++/类与对象总结】

    1.以上是对本章知识的大致梳理,下面通过我自己在编程中遇到的问题再次总结. 私有成员必须通过get()函数访问吗?能不能直接调用? 私有成员必须通过公共函数接口去访问,比如设置set()修改成员内容, ...

  9. git 回滚指定行

    Stage the parts you want with git add -p, then discard (git checkout -- filename) the unstaged chang ...

  10. 微信小程序之点赞和取消点赞

    wxml代码 <image wx:if="{{collection}}" src="/images/boy.png" bindtap="toCo ...