IO流--buffer

示例展示:

package buffer;import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;/*** 使用缓冲字节流复制文件 (包装流)* BufferedInputStream   BufferedOutputStream* @author superdrew* *     使用缓冲字节流 可以提高读写的效率*     1.认识什么是缓冲流*         InputStream OutputStream   字节流 *         BufferedInputStream  BufferedOutputStream 处理流  包装流* *     2.好处:*         提供了缓冲区,提高了效率,简化操作    *    3.原理:输入流和输出流两段提供了 默认大小是 8192 的缓冲区  占用内存空间*        其实就是一个字节数组      *        具体原理:看图*        减少硬盘的读取次数,效率提高了**        使用缓冲区 如果流不关闭,文件小于8192,复制完没有任何内容*    4.输出缓冲区的刷新*        1.手动刷新  bos.flush();    *        2.自动刷新 满了自动刷新*        3.close时,会自动刷新**    5.关闭高层流的时候,底层的流会自动关闭*/
public class TestBuffered {public static void main(String[] args) throws IOException {//创建 缓冲字节流  输入流/*InputStream in = new FileInputStream("d:/sxt.txt");BufferedInputStream bis = new BufferedInputStream(in);*///创建缓冲字节流 输出流/*OutputStream os = new FileOutputStream("d:/sxt2.txt");BufferedOutputStream bos = new BufferedOutputStream(os);*///合并上面代码:简化BufferedInputStream bis = new BufferedInputStream(new FileInputStream("d:/mp4.rmvb"));//资源路径(相对/绝对)BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("d:/mp42.rmvb"));//资源路径(相对/绝对)//中转站   一个字节(水杯)/*int n =0;n = bis.read();while(n!=-1){bos.write(n);n = bis.read();}*///中转站使用 一个 字节数组  (水桶)byte [] buf = new byte [1024];int n = bis.read(buf);while(n!=-1){bos.write(buf,0,n);//n = bis.read(buf);//再读
        }//手动刷新输出流的缓冲区//bos.flush();//关闭
        bos.close();bis.close();/*os.close(); //可有可无!in.close();*/}
}

结果展示:就得自己玩了。。

转载于:https://www.cnblogs.com/superdrew/p/8084943.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467069.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 用户空间和内核空间

最近在微信群里看到有人提这个问题,然后查了下资料,觉得这篇文章是写得最能让人看懂的,分享给大家。欢迎大家评论说出自己的见解,让更多的人更容易理解这部分知识。之前的相关文章Linux内存,先看这篇文章Linux物理内存…

数据库的学习

自从搬到那边学校去了,就好久都没有写过我的学习了。因为没那么多时间上网了,有时候去网吧上网也不想写了。又开始了一本书的学习,那就是数据库。还记得去年那个时候学数据库的时候,大家都说我们学会最多的就是ctrlc和ctrlv&#…

2017.12.20-21

1.今天,继续学习公司产品DDS的开发手册。 首先,其中有几个概念需要认识: CORBA(Common Object Request Broker Architecture):公共对象的请求代理体系结构,OMG组织定义的一种面向对象应用的标准国际规范架构。为简化跨平台应用而提…

C语言——宏定义

C语言——宏定义 宗旨:技术的学习是有限的,分享的精神是无限的。 注意:宏定义不是函数!! 一般用来简化操作的,但又能避免函数调用那样需要进行切换环境,花费时间。例如: #define ma…

一个深入学习Linux/C/C++的原创技术号

今天给大家推荐一个Linux/C/C领域的公众号,大家都知道这个领域的号不多,而【编程珠玑】就是这样一个专注该领域的原创类公众号,原创占比95%以上,目前已有原创文章200多篇,而且原创间环环相扣,皆有关联。公众…

Redis Java调用

Redis Java调用 package com.stono.redis;import redis.clients.jedis.Jedis;public class RedisJava {public static void main(String[] args) {Jedis jedis new Jedis("localhost");System.out.println("ok");System.out.println("ping "jed…

Linux 资料大全

Hello all,给大家分享一些 Linux 学习资料,包含:社区网站、在线教程、命令大全、在线模拟器、经典书籍、镜像站点等 ...从入门到进阶,应有尽有。无论你是小白,还是 Linux 高手,都不容错过,100% …

C语言——字符串函数

C语言——字符串函数 宗旨:技术的学习是有限的,分享的精神是无限的。 常用字符串操作函数的实现:注释部分你们注意一下,我没加/,加了/就看不到注释了。 ************************************************* *功能:实…

创业思考点滴

创业的理由应该是为了做更有意义的事,而不是赚更多钱,是为了更大程度地实现自身价值,而不是得到更多财富。 创业对个人是很大的挑战,这种挑战会让人成长得更快。 在创业过程中,自省很重要,很多时候问题与困…

各种排序方法的比较

简单排序包括直接插入排序、冒泡排序、和简单选择排序。 排序方法的稳定性&#xff1a;假设KiKj&#xff08;1<i<n,1<j<n,i!j&#xff09;&#xff0c;若在排序前的序列中Ri领先于Rj&#xff08;即i<j&#xff09;&#xff0c;经过排序后得到的序列中Ri领先于Rj…

生命很短,我用tldr

我们平时使用命令的时候&#xff0c;如果忘记的或者不知道这个命令如何使用&#xff0c;然后你就会去百度&#xff0c;也会去使用man 或者 -- help 查看&#xff0c;但是看到的一般都是长篇大论。如果你看了这篇文章&#xff0c;就会知道tldr是怎么样的存在。tldr 的含义TL;DR …

Linux安装vsftpd

卸载vsftpd sudo yum remove vsftpd 安装vsftpd sudo yum -y install vsftpd 创建一个文件夹用来当作ftp得仓库 cd / sudo mkdir ftpfile 创建一个用户,仅对文件夹有上传权限,又没有登陆权限 sudo useradd ftpuser -d /ftpfile/ -s /sbin/nologin//赋值权限sudo chown -R ftpus…

EJB 学习笔记

1、ejb 基础知识&#xff08;1&#xff09; 无状态会话bean不保存客户机的会话状态优点&#xff1a;使用小量的实例即可满足大量的客户。每个实例都没有标识&#xff0c;相互之间是等价的。等?的无状态会话bean&#xff1a; 多次和一次调用的结果和效应相同。在集群中可以…

C语言——项目规范

C语言——项目规范 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 //基本原则 1、尽量少使用全局变量&#xff0c;或者说禁止使用全局变量&#xff1b; 2、实在要在其他文件使用本文件中的变量&#xff0c;以函数接口返回其值&#xff0c;在其他文件…

折半查找判定树及平均查找长度

折半查找判定树及平均查找长度 从折半查找的过程看&#xff0c;以有序表的中间记录作为比较对象&#xff0c;并以中间记录将表分割为两个子表&#xff0c;对子表继续上述操作。所以&#xff0c;对表中每个记录的查找过程&#xff0c;可用二叉树来描述&#xff0c;二叉树中的每个…

华为开始对嵌入式开发者下手了!

5G时代到来&#xff0c;物联网技术的应用也离我们越来越近。智慧交通、智能家庭、智慧园区&#xff0c;越来越多的融入到我们的生活当中。作为物联网重要技术组成的嵌入式系统&#xff0c;嵌入式系统视角有助于深刻地、全面地理解物联网的本质。而物联网是通用计算机的互联网与…

慎用Hyper-Threading Technology

今天&#xff0c;一个同事遇到了一个非常奇怪的问题&#xff0c;他的程序&#xff08;C#&#xff09;运用了Hyper-Threading技术&#xff0c;系统用的是Windows 2000 SP4&#xff0c;当程序运行时会随机的抛出一个异常&#xff0c;而且这个bug很不容易reproduce&#xff0c;最后…

BZOJ1876 [SDOI2009]SuperGCD 【高精 + GCD优化】

题目 Sheng bill有着惊人的心算能力&#xff0c;甚至能用大脑计算出两个巨大的数的GCD&#xff08;最大公约 数&#xff09;&#xff01;因此他经常和别人比 赛计算GCD。有一天Sheng bill很嚣张地找到了你&#xff0c;并要求和你比 赛&#xff0c;但是输给Sheng bill岂不是很丢…

二叉排序树和平衡二叉排序树

二叉排序树又称为二叉查找树&#xff0c;它是一颗特殊的二叉树。&#xff08;空树&#xff09; 性质&#xff1a;1、若它的左子树非空&#xff0c;则左子树上的所有结点的值均小于根结点的值。 2、若它的右子树非空&#xff0c;则右子树上的所有结点的值均大于根结点的值。 3、…

C语言九阳神功

C语言笔记(九阳神功) 宗旨&#xff1a;技术的学习是有限的&#xff0c;分享的精神是无限的。 1.static的作用&#xff1a; &#xff08;1&#xff09;在函数体内&#xff0c;一个被声明为静态的变量在这一函数被调用过程中维持其值不变&#xff08;该变量存放在静态变量区&…