前言

字节流一次读写一个数组的速度明显比一次读写一个字节的速度快很多,这是加入了数组这样的缓冲区效果,java本身在设计的时候,也考虑到了这样的设计思想(装饰设计模式后面讲解),所以提供了字节缓冲区流
字节缓冲输出流(写数据):BufferedOutputStream它继承至java.lang.Object<  java.io.InputStream<java.io.FilterInputStream<java.io.BufferedInputStream

字节缓冲输入流(读数据):BufferedInputStream它继承至java.lang.Object<java.io.InputStream<java.io.FilterInputStream<java.io.BufferedInputStream

用法

BufferedOutputStream

public class FileOutputStreamDemo  {
public static void main(String[] args) throws IOException {
/*规矩的写法
String str="中国人";
byte[]byts= str.getBytes(); File file=new File("a.txt");//文件对象
FileOutputStream fos=new FileOutputStream(file);//创建文件输出流对象
BufferedOutputStream bos=new BufferedOutputStream(fos);//创建缓冲输出流对象
bos.write(byts); bos.close();//关闭此文件输出流并释放资源
*/ BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("a.txt"));//创建缓冲输出流对象
bos.write("中国人".getBytes());
bos.close();//关闭此文件缓冲输出流对象并释放资源
}
}

BufferedInputStream

public class FileOutputStreamDemo  {
public static void main(String[] args) throws IOException {
/*这两种方法都可以快速读取:读取多媒体文件多用此方法,读取纯文本常用下种办法
FileInputStream fis=new FileInputStream("a.txt");//创建文件输出流对象 byte[] bys = new byte[1024];
int len = 0;
while ((len = fis.read(bys)) != -1) {
System.out.println(len);//当前从文件读取到的字节数
System.out.print(new String(bys, 0, len));
} fis.close();//关闭此文件输出流并释放资源
*/ BufferedInputStream bis=new BufferedInputStream(new FileInputStream("a.txt"));//创建缓冲输出流对象
int bys=0;
while((bys=bis.read())!=-1){
System.out.print((char)bys);
}
bis.close();//关闭此文件缓冲输出流对象并释放资源
}
}

4、BufferedIn(out)putStream--->字节输入/输出流的缓冲区类(高效类:高效率读写)的更多相关文章

  1. Java 7源码分析第13篇 - 字节输入输出流(1)

    上一篇介绍了关于字节输入输出流的Java类框架,同时也简单介绍了一下各个类的作用,下面就来具体看一下这些类是怎么实现这些功能的. 1.InputStream和OutputStream InputStr ...

  2. Java IO详解(一)------字节输入输出流

    File 类的介绍:http://www.cnblogs.com/ysocean/p/6851878.html Java IO 流的分类介绍:http://www.cnblogs.com/ysocea ...

  3. java学习笔记IO之字节输入输出流

    IO字节输入输出流 OutputStream:字节输出流 该抽象类是所有字节输出流的超类: 定义了一些共性的成员方法: 1.写入一个字节 void write(int b);//b表示字节 2.写入字 ...

  4. Java IO详解(三)------字节输入输出流

    File 类的介绍:http://www.cnblogs.com/ysocean/p/6851878.html Java IO 流的分类介绍:http://www.cnblogs.com/ysocea ...

  5. 《三》Java IO 字节输入输出流

    那么这篇博客我们讲的是字节输入输出流:InputStream.OutputSteam(下图红色长方形框内),红色椭圆框内是其典型实现(FileInputSteam.FileOutStream)     ...

  6. Java修炼——文件字节输入输出流复制和缓冲流复制

    一:文件字节输入输出流复制 首先明确数据源和目的文件,然后就是"中转站",最后就是关闭 package com.bjsxt.ioproject; import java.io.Fi ...

  7. IO流 - 字节输入输出流,文件的复制

    IO流 I:input - 输入(读取),eg:把硬盘的内容读取到内存 O: output - 输出(写入) eg:把内存中的东西写入硬盘保存 流:数字(字符/字节) 一般1个字符=2Byte,1By ...

  8. Java基础IO类之字节输入输出流

    一.IO流概述 1.IO流:输入输出流(Input/Output) 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象,即数据在设备间的传输流, 流的本质是数据传输,根据数据传输特性将 ...

  9. IO流的字节输入输出流(InputStream,OutputStream)

    字节输出流与文件字节输出流 文件存储原理和记事本打开文件原理 OutputStream及FileOutputStream import java.io.FileOutputStream; import ...

随机推荐

  1. python中函数与函数之间的调用,总是晕菜,整理如下,有不对或者补充的请提出来~

    1.python函数基础 函数名: fun 函数体:1~3行 返回值:2 调用函数:fun() ,只有见到这个括号(),程序会根据函数名从内存中找到函数体,然后执行它. 2.函数的执行顺序 下面的fu ...

  2. Oracle SQL 基本操作之 用户权限管理方法

     Oracle SQL 基本操作之 用户权限管理方法 最近把有关用户操作和权限管理的东西整理了一下,虽然不少博客都有过类似的整理,但是自己发现他们的内容或多或少都有些错误.于是,本人亲自对每条语句进行 ...

  3. c#dalegate invoke及AsyncCallback使用

    public delegate void AsyncDelegate();        private AsyncDelegate asyncDl; asyncDl = new AsyncDeleg ...

  4. [SOJ]寻找第k大数字(numberk)

    Description 经过长时间的筹备工作,在Jourk,Ronny,Plipala,阿长,阿沈等人的努力下,DM实验室建立起自己的系列网站,其中包括三个大板块:DMOJ首页.DMOJ论坛.DMOJ ...

  5. C# 语言规范_版本5.0 (第20章 附录B_语法)

    A. 语法 此附录是主文档中描述的词法和语法以及不安全代码的语法扩展的摘要.这里,各语法产生式是按它们在主文档中出现的顺序列出的. A.1 词法文法 input: input-sectionopt i ...

  6. Oracle与Sqlserver:Order by NULL值介绍

    针对页面传参到in的子集中去进行查询操作的话,就会有in(xxx,null),这样就会导致查询的结果中其实直接过滤掉了null,根本就查不出来null的值.之前对于null的操作都是进行不同数据库的n ...

  7. Objective-C Runtime 运行时之五:协议与分类(转载)

    Objective-C中的分类允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以做到. Objective-C中的协议是普遍存在的 ...

  8. idea不能加载xml

  9. Python将列表中的string元素进行类型转换

    例如 将 a=['1','2.0','3L'] 转换为 a=[1,2.0,3L] 只需 map(eval,['1','2.0','3L']) 即可 eval(expression[, globals[ ...

  10. WinForm笔记一:文本框只允许输入数字

    在WinForm的文本框中,有时候只允许数字,而不能输入除数字以外的其他字符,要调用TextBox的KeyPress事件,代码如下: //只允许输入数字 if (e.KeyChar<'0'||e ...