java知识学习34-字节流(IO流)

IO流的概述:用来处理设备之间数据传输问题的。常见的应用:文件上传、下载、复制。

  IO:输入/输出(input/output);

  流:是一种抽象概念,对数据传输的总称。即设备间数据传输称为流,流的本质就是数据传输。

IO流的分类:不懂用哪种类型的流时,就使用字节流。可理解为字节流是万能的,基本的数据类型都能读写。

  

字节流读写数据:

  

  字节流写数据:

    1、用输出流超类的实现类创建字节输出流对象;

      该过程做了三件事:1、调用系统功能创建了文件;2、创建了字节输出流对象;3、让字节输出流对象指向创建好的文件。

    2、调用如write方法进行写入数据;

    3、关闭创建的输出流对象并释放与此输出流关联的任何系统资源。

  字节流写数据的常用方法:

    

    字节流写数据实现换号和追加:

    

   字节流写数据加异常处理:通过try...catch方式,由于要释放资源必须要执行的,所以要把它放在finally关键字中。

    

    

  字节流读数据:

    1、用输入流超类的实现类创建字节输出流对象;

    2、调用如read方法进行读取数据;

    3、关闭输入流对象并释放与此输入流关联的任何系统资源。

    

  复制文件(文本、图片、视频等):其原理其实就是从一个文件中读取文件然后写入到另一个文件中。  

   

字节缓冲流(为了提高读写效率):通过这种方式可以先向底层输出流写入字节,然后一次性写入文件中,减少了原来每个字节写入到文件都要调用底层系统。尤其读写视频,通过字节缓冲流一次读写一个字节数组是最快的,而字节流一次读取一个字节是最慢的。所以通常用缓冲流读写数据。

   

原文地址:https://www.cnblogs.com/blogofzxf/p/14669928.html