IO流的总结(二)
缓冲字节流:
- 我们先说一下缓存区的概念:

缓冲区就好比一辆车,一车一车的把数据拉走,这样就效率快多了
按照流的方向分类:
- 写入数据到流中,字节缓冲输出流 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倍!
IO流的总结(二)的更多相关文章
- Java io流详解二
原文地址https://www.cnblogs.com/xll1025/p/6418766.html 一.IO流概述 概述: IO流简单来说就是Input和Output流,IO流主要是用来处理设备之间 ...
- java中的io流总结(二)——RandomAccessFile类
知识点:RandomAccessFile (随机访问文件)类 (一)描述 前一篇博客中https://www.cnblogs.com/shuaifing/p/11490160.html,主要描述Fil ...
- 。。。IO流学习之二。。。
fileReader的用法: import static org.junit.Assert.*; import java.io.File; import java.io.FileNotFoundExc ...
- 从零开始学C++之IO流类库(二):文件流(fstream, ifstream, ofstream)的打开关闭、流状态
一.文件流 ofstream,由ostream派生而来,用于写文件 ifstream,由istream派生而来, 用于读文件 fstream,由iostream派生而来,用于读写文件 二.打开文件 说 ...
- 15 IO流(十二)——数据流Data InputStream/OutputStream 未学会
数据流的引入 Data流的父类是Filter抽象基类,也就是说Data流是装饰流. 数据流可以将数据的类型也一起传输. 数据流的读取写入顺序(数据类型的读写顺序)需要一致. 未完成代码 /** *Da ...
- Java IO流总结(二)-示例
1.使用文件操作的9大方法完成文件的判断 判断文件或目录是否存在 : exits() 返回值boolean型 * 判断是否是文件: isFile() boolean * 判断是否是目录: isDiec ...
- IO流总结笔记二
Reader |--InputStreamReader |--FileReader:专门用于处理文件的字符读取流对象 Writer |--OutputStreamWriter |--FileWri ...
- Java IO流学习总结二:File
Java File类的功能非常强大,利用java基本上可以对文件进行所有操作.首先来看File类的构造函数的源码 /** * Internal constructor for already-norm ...
- Java基础-IO流对象之字节缓冲流(BufferedOutputStream与BufferedInputStream)
Java基础-IO流对象之字节缓冲流(BufferedOutputStream与BufferedInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在我们学习字 ...
随机推荐
- mybatis打印完整的sql
mybatis log plugin
- 阿里云php-7.2.12 安装
安装依赖 yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml ...
- 新唐MCU常用的工具软件
ICP 在电路编程 需要NULINK ISP 在系统编程,可通过串口或USB PINVIEW 可以显示管脚目前的状态.提供keil下或者单独运行两种模式.Keil下进入debug模式后,点击 ...
- phpstorm 破解
http://idea.lanyus.com/ https://www.imsxm.com/jetbrains-license-server.html [ http://www.activejetb ...
- LeetCode - 868. Binary Gap
Given a positive integer N, find and return the longest distance between two consecutive 1's in the ...
- Spring MVC 知识点整理
extend:http://www.jianshu.com/p/bef0e52067d2 1. Redis 存储方式 Redis存储机制分成两种Snapshot 和 AOF.无论是那种机制,Redis ...
- 在elementUI中使用 el-autocomplete 实现远程搜索的下拉框
参考;https://blog.csdn.net/qq_37746973/article/details/78402812?utm_source=blogxgwz1 https://blog.csdn ...
- windows Apache服务器简单配置虚拟域名(转载)
1.找到apache目录下的conf下的extra下的httpd-vhosts.conf虚拟主机配置文件 将下面的代码复制粘贴到最下面: #<VirtualHost *:80># ...
- 前端上传 base64 编码图片到七牛云存储
参考文档 如何上传base64编码图片到七牛云 调试过程 文档中分别有 java 和 html 的 demo,可以根据文档示例调试. 下面是我调试的过程,可以作为参考,特别注意的是,如果需要给文件起名 ...
- 关于 Java 中关于 数组的声明
第一种方式:直接声明(只能在定义处使用!) int[] arr = {2, 3, 4, 5} 第二种方式:显式声明(用于各种情况) 比如方法返回值: public static int[] getAr ...