内置了一个缓冲区(数组)缓冲流BufferInputStream为何要配合字节数组的使用?

只为效率而积累【积少成多送一趟比送多趟快】

举例子:超市买30个鸡蛋回家煮

(1)读一个送一个(效率太低啦)

☆inputStream.read();           //就像去一趟超市买了一个鸡蛋就回家,按照这剧情,买30个鸡蛋,需要跑超市-家(30趟)       oh,my god!

bufferedInputStream.read();     //就像买一个鸡蛋暂时放到离超市很近的老王家,按照这剧情,可以超市-老王家(老王只允许给放8个鸡蛋)8个鸡蛋,然后8个鸡蛋再拿回家,然后超市-老王家又8个鸡蛋,然后再回一次家。。。。。30个鸡蛋,就变成去30次离超市很近的老王家,回四次家啦(路程已经缩减,但是就是那啥,去老王家次数太多了。。。。。)

 

(2)一次性读取多个字节(配合字节数组的使用

定义一个字节数组    byte[ ] buff = new byte[5];

inputStream.read(buff);         //就像去一趟超市买了五个鸡蛋就回家,按照这剧情,买30个鸡蛋,需要跑超市-家(6趟)不错,效率提升了。

 

bufferedInputStream.read(buff);  //就像买五个鸡蛋暂时放到离超市很近的老王家,按照这剧情,可以超市-老王家(老王只允许给放8个鸡蛋)8个鸡蛋,然后8个鸡蛋再拿回家,然后超市-老王家又8个鸡蛋,然后再回一次家。。。。。30个鸡蛋,就变成去6次离超市很近的老王家,回四次家啦(效率比inputStream更高,因为老王家离超市真的很近)

 

内置了一个缓冲区(数组)缓冲流BufferInputStream为何要配合字节数组的使用?的更多相关文章

  1. JSP内置对象---request对象(用户登录页面(返回值和数组:gerParameter,getParameterValues))

    创建两个jsp页面:reg.jsp 和 request.jsp reg.jsp: <%@ page language="java" import="java.uti ...

  2. 缓冲流的原理和BufferedOutputStream字节缓冲输出流

    缓冲流的原理 BufferedOutputStream字节缓冲输出流 package com.yang.Test.BufferedStudy; import java.io.BufferedOutpu ...

  3. Python内置的一个用于命令项选项与参数解析的模块argparse

    一.argparse简单使用 我们先来看一个简单示例.主要有三个步骤: 创建 ArgumentParser() 对象 调用 add_argument() 方法添加参数 使用 parse_args() ...

  4. java基础知识回顾之javaIO类--内存操作流ByteArrayInputStream和ByteArrayOutputSteam(操作字节数组)

    直接看代码: package cn.itcast.io.p6.bytestream; import java.io.ByteArrayInputStream; import java.io.ByteA ...

  5. IO(02)--属性集、缓冲流、转换流

    属性集[Properties] java.util.Properties类继承于Hashtable,用来表示一个持久的属性集.它使用键值结构存储数据,每个键及其对应的值都是一个字符串. 构造方法 ​ ...

  6. File类与常用IO流第八章——缓冲流

    第八章.缓冲流 缓冲流概述 缓冲流,也叫高效流,是对4个基本的FileXxx流的增强.按照数据类型分为4类:   输入缓冲流 输出缓冲流 字节缓冲流 BufferedInputStream Buffe ...

  7. IO异常--缓冲流--转换流--序列化流( IO流2 )

    1.IO异常的处理 JDK7前处理:使用try...catch...finally 代码块,处理异常部分 // 声明变量 FileWriter fw = null; try { //创建流对象 fw ...

  8. JAVA基础复习与总结<八> 缓冲流_数据流_对象流_IO总结

    缓冲流.数据流以及对象流 一.缓冲流 缓冲流的概念:在读写的时候,对于单字节的读取会造成硬盘的频繁读写,增加访问次数,降低了读取文件的效率.而引入缓冲流之后,就可以将多个字节写入缓冲区,在缓冲区积累之 ...

  9. day12(jsp指令&内置对象&动作标签、JavaBean、EL表达式&函数库)

    day12 JSP指令 JSP指令概述 JSP指令的格式:<%@指令名 attr1="" attr2="" %>,一般都会把JSP指令放到JSP文件 ...

随机推荐

  1. OpenStack Train版-4.安装placement放置服务

    安装placement放置服务 创建placement数据库 mysql -uroot CREATE DATABASE placement; GRANT ALL PRIVILEGES ON place ...

  2. Leetcode(25)- k个一组翻转链表

    给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度.如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序. 示例 : 给定这个链表: ...

  3. C# opc 功能相关

    C# 程序里,使用 Interop.OPCAutomation.dll ,用于和opc通讯,读opc变量,写opc变量 链接: https://pan.baidu.com/s/1OpUa_Jct1gf ...

  4. Gym 101128F Landscaping(网络流)题解

    题意:n*m的地,从有高地和低地,从高地走到低地或者从低地走到高地花费a,把高地和低地互相改造一次花费b.现在要走遍每一行每一列,问最小花费 思路:超级源点连接所有低地,容量b:所有地向四周建边,容量 ...

  5. Gym 101128J Saint John Festival(凸包 + 二分判点和凸包关系)题解

    题意:给你一堆黑点一堆红点,问你有最多几个黑点能找到三个红点,使这个黑点在三角形内? 思路:显然红点组成的凸包内的所有黑点都能做到.但是判断黑点和凸包的关系朴素方法使O(n^2),显然超时.那么我现在 ...

  6. Keras 报错: Error when checking target: expected dense_4...

    笔者此处是一个回归任务, 最后一层是: ... pred = Dense(1)(x) 在最后一个Dense层前加上x = Flatten()(x)即可.

  7. Semantic Pull Requests All In One

    Semantic Pull Requests All In One https://github.com/zeke/semantic-pull-requests docs: Update direct ...

  8. 使用 js 实现一个简易版的 drag & drop 库

    使用 js 实现一个简易版的 drag & drop 库 具有挑战性的前端面试题 H5 DnD js refs https://www.infoq.cn/article/0NUjpxGrqRX ...

  9. Full Stack Web Development

    Full Stack Web Development Web Stacks MEAN (Mongo, Express, Angular and Node) LAMP (Linux, Apache, M ...

  10. console.log & front-end jobs

    console.log & front-end jobs bind & function let log = console.log; let obj = {}; log(obj); ...