Java IO流

IO(输入/输出)

Java IO通过java.io包下的接口来实现,主要包括输入、输出两种IO流。

Java IO流使用了一种装饰器设计模式,它将IO流分为了底层节点流和上层处理流;其中节点流用于和底层的物理存储节点直接关联---不同的物理节点获取节点流的方式可能存在一定的差异,但程序可以把不同的物理节点流包装成统一的处理流,从而允许程序使用统一的输入、输出代码来读取不同的物理存储节点的资源。

Java 7 在java.nio及其子包下提供了一系列全新的API,对原有的IO进行升级,也称为 NIO2

一. 流的分类

  1. 输入流和输出流

  输入流:主要有 InputStream 和 Reader 作为基类

  输出流:主要由 OutputStream 和 Writer 作为基类。

  2. 字节流和字符流:用法几乎完全一致,只是处理的数据单位不一样。

  字节流:操作的数据单位是8位的字节; 主要是以 InputStream 和 OutputStream 作为基类;

  字符流:操作的数据单位是16位的字符;主要是以 Reader 和 Writer 作为基类;

  3. 节点流 和 处理流: 按照流的角色来划分。

原文地址:https://www.cnblogs.com/FocusIN/p/6535697.html