I/O流基础知识

1. I/O流简介

  1. IO流:I的全称是Input,O的全称是Output。表示读取,流可以看做是程序传输数据的通道。

  2. 作用:解决程序请求资源,输出资源的问题。

  3. 特性:流是一个管道,该管道具有先进先出的特性,最先写入的数据最先被读取到;并且必须顺序读取。

  4. 每一种流不能同时肩负输入,输出两种功能。必须单一的是输入流或者输出流。


2. 流的分类

  1. 按照流向分类,可以分为输出流和输出流。

    1.1、输入流:从本地文件,网络资源等中获取资源到我们的程序中

    1.2、输出流:从我们的程序中输出一些资源到本地等。
    在这里插入图片描述

  2. 按照处理数据的单位来分类,可以分为字节流和字符流。

    一个字节 = 8比特,一个字符 = 2字节。Java中不区分汉字和英文数字的区别都是一个字符占两个字节。C/C++语言中汉字是两个字节,英文数字是一个字节。

    2.1、字节流:每次读或写一个字节,注意出现乱码问题。

    2.2、字符流:每次读或写一个字符(两个字节),可以直接操作汉字。


  3. 按照功能来分类,可以分为处理流 和 辅助流。

    3.1、节点流:具有实际读写传输数据功能的流。

    3.2、 过滤流: 是对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能。


3. IO流常用到的五类一接口

IO包中最重要的就是五个类和一个接口,分别是指的是File、OutputStream、InputStream、Writer、Reader 和 Serializable序列化接口。
主要的类如下:

  1. File(文件信息与管理):File类是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹。 File类保存文件或目录的各种元数据信息,包括文件名、文件长度、最后修改时间、是否可读、获取当前文件的路径名,判断指定文件是否存在、获得当前目录中的文件列表,创建、删除文件和目录等方法。

  2. InputStream(二进制格式操作):抽象类,基于字节的输入流,是所有输入流的父类。定义了所有输入流都具有的共同特征。

  3. OutputStream(二进制格式操作):抽象类。基于字节的输出流。是所有输出流的父类。定义了所有输出流都具有的共同特征。

  4. Reader(文件格式操作):抽象类,基于字符的输入操作。

  5. Writer(文件格式操作):抽象类,基于字符的输出操作。

  6. RandomAccessFile(随机文件操作):一个独立的类,直接继承至Object.它的功能丰富,可以从文件的任意位置进行存取(输入输出)操作。

在这里插入图片描述

参考博客

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值