java字节流是低级流吗,字节流-布布扣-bubuko.com

字节流用于处理二进制文件。所有字节流都继承于抽象类InputStream和OutputStream两个父类。其中InputStream为读取字节流的父类,OutputStream为写入字节流的父类。对字节流可以进行分类,分为:低级字节流和高级字节流。1.低级字节流:包括,对二进制文件读写操作的FileputStream和FileOutputStream类,其数据源是磁盘文件。对内存缓冲区的字节数组进行读写操作的ByteArrayInputStream和ByteArrayOutputStream类,其数据源是内存中的字节数组。对线程管道进行读写操作的PipedInputStream和FileOutputStream类,其数据源是线程管道。而其中最常用的是FileInputStream和FileOutputStream。当建立一个FileOInputStream或FileOutputStream的实例时,必须指定文件位置及文件名称,实例被建立时文件的流就会开启,而不使用流时,必须关闭文件流,以释放与流相依的系统资源,完成文件读或写的动作。FileInputStream可以使用read()方法一次读入一个字节,并返回整型值,或者是使用()方法时读入到一个byte数组,byte数组的元素有多少个,就读入多少个字节。在将整个文件读取完成或写入完毕的过程中,这么一个byte数组通常被当做缓冲区,因为这么一个byte数组通常扮演承接数据的中间角色。代码如下:

69c5a8ac3fa60e0848d784a6dd461da6.png1 FileInputStream in = null; //创建文件输入流2

3 FileOutputStream out = null; //创建文件输出流4

5 in = new FileInputStream("c:\\abc.txt"); //创建文件的输入路径6 out = new FileOutputStream("c:\\abc.txt");7 intc;8 while ((c = in.read()) != -1) { //当输入流里还有东西时,就一直写入9 out.write();10 } //有异常

11 finally{12 if(in != null) { //关闭输入流13 System.out.println("关闭不了文件abc.txt");14 }15 if(out != null) { //关闭输出流16 System.out.println("关闭不了文件abc.txt");17 }18 //有异常

19

20 }

69c5a8ac3fa60e0848d784a6dd461da6.png

高级字节流:高级字节流对低级字节流进行了封装,并有许多功能的扩展。高级字节流根据其功能分为三大类:过滤流类:包括,BufferedInputStream和BufferedOutputStream;数据流:DataInputStream和DataOutputStream,可以用与计算机无关的格式读写java的基本数据类型以及String对象。对象流:包括ObjectInputStream和ObjectOutputStream,允许直接对对象执行读写操作。

因为高级流不能直接与数据源进行通讯,所以使用时不能单独使用,必须附加在一个已经存在的低级流或高级流上。也就是必须用一个已经存在的流作为它的构造器参数。字节缓冲流:BufferedInputStream与BufferedOutputStream可以为InputStream,OutputStream类的对象增加缓冲区功能。创建缓冲流时,需要给定一个InputStream或OutputStream类型的实例。实现缓冲流时其实最后实现的是InputStream或OutputStream实例。BufferedInputStream的数据成员是一个字节数组,默认为2048字节。当读取数据源时,缓冲流会尽力将数据成员填满。

原文:http://www.cnblogs.com/pandasun/p/3764324.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值