zoukankan      html  css  js  c++  java
  • 详解 I/O流

    I/O流是用于处理设备之前信息传输的流,在我们今后的学习甚至是工作中,都是十分重要的。
    在我们的日常生活中,也是很常见的,譬如:文件内容的合并、设备之键的文件传输,甚至是下载软件时的断点续传,都可以用I/O流的知识来实现。
    那么,话不多说,现在本人就开始讲解吧:


    @


    在讲解I/O流之前,本人要先来讲解下另外两个相关知识点 —— 异常File类

    那么,可能有的同学有疑问了—— 讲解IO流之前为什么先讲解异常和File类呢?
    答曰:原因有两点:

    1. File类是I/O流将来需要操作的文件,所以我们需要学习 File类;
    2. 在操作文件的过程中,可能会出现问题,我们需要对相应的代码进行处理,所以我们需要学习 异常。

    那么,本人就通过两篇博文先来介绍下 异常 以及 File类:

    异常:

    请观看本人博文——《详解 异常》


    File类:

    请观看本人博文——《详解 File类》


    I/O流:

    概述

    又称“输入输出流
    用于处理 设备之间的数据传输(即: 上传文件和下载文件

    I/O流主要分为两大类:

    分类

    1. 按照流向分:
    • 输入流—— 用于 读入数据
      (InputStream)
    • 输出流—— 用于 写出数据
      (OutputStream)

    在这里本人要对上面的输入和输出做一点说明

    说明:
    这里的输入和输出都是针对内存而言

    如下图所示:
    在这里插入图片描述

    1. 按照操作数据的类型分
    • 字节流 —— 可以读写任意类型的文件
    • 字符流 —— 只能读写文本文件
      (字符流相当于包装了字节流,在读取文本文件时会更高效些)

    在讲解所有流之前,本人要着重强调一个问题:

    流用完之后,必须释放资源!!!(即:close()掉)


    那么,现在,本人来讲解下I/O流的继承体系

    I/O流的继承体系:

    首先是 字节流
    请观看本人博文 —— 《详解 字节流》

    然后是 字符流
    请观看本人博文 —— 《详解 字符流》

    现在,本人来讲解下将要处理的信息存储在内存中的流 —— 内存操作流
    请观看本人博文 ——《详解 内存操作流》

    那么,本人再来讲解下 字节流 与 字符流 的共有子流 —— 打印流
    请观看本人博文 ——《详解 打印流》

    现在,本人再来讲解下一个很重要的流 —— 随机访问流
    请观看本人博文 —— 《详解 随机访问流》

    现在,本人再来讲解下一个很特殊的流 —— 序列化流 与 反序列化流
    请观看本人博文 ——《详解 序列化流 与 反序列化流》

    现在,本人来介绍一个 用于存储流信息的容器类 —— Properties类
    请观看本人博文 ——《详解 Properties类》


    其实,I/O流的子流还有很多,本人就通过讲解以上几个来展示下我们最经常用的几种。
    通过本人的讲解,我们能够发现:
    这些流中最基本的就是“字节流”,
    也因此它使用起来比较麻烦,但是比较灵活,功能齐全。
    其它的流基本上都是(除个别外,例:随机访问流)包装过的字节流,
    也因此,这些流侧重点强,效率高,但是可能会丧失一些功能。

  • 相关阅读:
    HTTP协议详解
    如何编写出拥抱变化的代码
    Cookie ,Session
    Request 请求
    MySQL如何处理死锁
    如何优化冒泡排序
    java数据结构分析
    response响应
    Tomcat服务器
    HTTP协议
  • 原文地址:https://www.cnblogs.com/codderYouzg/p/12418404.html
Copyright © 2011-2022 走看看