【Java-IO】如何理解 Java 中的 IO 流?

1、概述

  Java 的 IO 流是使用 Java 语言实现输入/输出的基础,可以通过调用 java.io 包内的 API 很方便的实现数据的输入/输出功能。流在计算机专业指的是字节序列,文件则是存储在磁盘内地二进制数据,是静态的,流是动态的,文件只是流操作的对象之一,二者是有区别的。在 Java 中,则把不同的输入输出源抽象为“流”,以便面向对象的编程机制。

2、流的分类

1)输入流和输出流

  按照流的流向,可以分为输入流进而输出流,流向的参考系是内存,从内存中输出数据到其他存储设备,使用的是输出流,从其他存储设备写数据到内存,使用的就是输入流。
  所以,只能从输入流中读取数据,而不能向输入流写数据;只能从输出流中写数据,而不能从输出流中读数据(这里所指的流是指Java中的流对象,读写数据的操作者是内存)。
  输入流主要用 InputStream 和 Reader 作为基类,输出流 主要用 OutputStream 和 Writer 作为基类。

2)字节流和字符流

  在 Java 中,一个字符占 2 字节,16位,而一个字节占 8 位,所有字节流和字符流的区别就是它们所操作的数据单元是一个字节还是一个字符。字节流的操作的数据单元是一个 8 位的字节,字符流操作的数据单元是一个 16 位的字符。
  字节流主要用 InputStream 和 OutputStream 作为基类,字符流主要用 Reader 和 Writer 作为基类。

3)节点流和处理流

  按照流的角色可分为节点流和处理流。节点流指的是可以从一个特定的设备读写数据的流,处理流则是用于对已存在的流进行连接或者封装进而实现读写数据的功能。节点流也被称之为低级流,处理流也叫作高级流或者包装流。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值