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) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在我们学习字 ...
随机推荐
- zoj 3430 Detect the Virus(AC自己主动机)
Detect the Virus Time Limit: 2 Seconds Memory Limit: 65536 KB One day, Nobita found that his co ...
- JAVA—API和SPI概念
JAVA—API和SPI概念 目录 概念 JDBC实例 自己实现一个SPI 总结 概念英文: What is the difference between Service Provider Inter ...
- selenium.common.exceptions.UnexpectedAlertPresentException: Alert Text: None;Message: unexpected alert open: {Alert text : 您点击的频率过快!请稍后再试}
报错 Traceback (most recent call last): File "C:/myFiles/code/cnki/cnki_1/core/knavi.py", li ...
- VMware vCenter Server 6.5安装
实验环境: 数据中心操作系统 : Windows server 2008 R2(建议配置8G内存) 数据中心安装包版本: VMware vCenter Server 6.5 数据中心数据库: ...
- saltstack通过jinja模板,grains方式将配置的变量值写入到配置文件中?
需求描述: 在通过saltstack进行jinja模板获取值的时候,可以通过grains的方式,获取一些操作系统相关的信息,比如,OS,ip地址等,在这里演示下,做个记录. 演示: 1.修改sls文件 ...
- 程序中的@Override是什么意思?
@Override是Java5的元数据,自动加上去的一个标志,告诉你说下面这个方法是从父类/接口 继承过来的,需要你重写一次,这样就可以方便你阅读,也不怕会忘记 @Override是伪代码,表示重写( ...
- HTTP 错误 500.19 - Internal Server Error 无法读取配置节 system.serviceModel 因为它缺少节声明
服务器环境:Windows Server2008 R2 Enterprise 配置 IIS 的时候报错. 错误信息: HTTP 错误 500.19 - Internal Server Error无法访 ...
- 将 Entity Framework、LINQ 和 Model-First 用于 Oracle 数据库
目的 本教程介绍如何使用 Entity Framework.语言集成查询 (LINQ),以及如何对 Oracle 数据库使用 Model-First 以生成数据定义语言 (DDL) 脚本. 所需时间 ...
- 最难解的耦合 — James
最近好久没写博客,因为换工作原因,从传统企业转行到互联网行业,这次换工作成本很大! 新公司,纯互联网广告公司,BI驱动,出来几日感觉成长空间很大,下面来些干货. 什么是程序.软件 程序 = 数据结构 ...
- VUEX新笔记
$store.commit('abc'),const mutations={abc:(state)=>{ state.flag='mutations' }} 多个mutations时用到dist ...