二、JAVA IO流 框架体系

一、JAVA IO流框架体系 (java.io)

1、IO 流概述

Java IO 概述:

        Java 中的 I/O 操作主要是指使用 Java 进行输入,输出操作。Java 所有的 I/O 机制都是基于数据流进行输入输出的,这些数据流表示了字符或者字节数据的流动序列。Java 的 I/O 流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。

        IO又分为流IO(java.io)和块IO(java.nio)

        Java.io是大多数面向数据流的输入/输出类的主要软件包。此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO。
        流IO的好处是简单易用,缺点是效率较低。块IO效率很高,但编写比较复杂。

Java 流的 概述:

        内存与存储设备之间传输数据的通道。

在这里插入图片描述


  • IO流概述:
    • IO流用来处理设备之间的数据传输
      • 上传文件和下载文件
    • Java对数据的操作主要是通过流的方式
    • Java用于操作流的对象都在IO包中


2、Java IO 流的整体架构图

在这里插入图片描述




二、IO 流分类

       在 IO 流中有很多不同的流,因此我们需要根据不同的状况去使用不同的流。

1、根据数据的流向分类

  • 有输入流和输出流两种操作方式。
    • 输入流:读取数据

      • 输入:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中
        在这里插入图片描述
    • 输出流:写出数据

      • 输出:把程序(内存)中的内容输出到磁盘、光盘等存储设备中
        在这里插入图片描述

2、根据数据类型分类

  • 字节流:数据流中最小的数据单元是字节
    • 字节输入流 读取数据 InputStream
    • 字节输出流 写入数据 OutputStream
  • 字符流:数据流中最小的数据单元是字符, Java中的字符是Unicode编码,一个字符占用两个字节(无论中文还是英文都是两个字节)。
    • 字符输入流 读取数据 Reader
    • 字符输出流 写入数据 Writer

  • JAVA io 中流的分类大致了解之后,我们如何区分什么时候使用什么流呢?这里有一个很简单的区分方法。
    • 1)如果数据所在的文件通过windows自带的记事本打开并能读懂里面的内容,就用字符流。其他用字节流。
    • 2)如果你无法确认究竟该使用什么流,就用字节流



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值