Java IO之流的分类、体系结构以及常用方法

2021-04-01  本文已影响0人  程序员汪汪

概述

IOInput/Output的缩写,I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。

Java程序中,对于数据的输入输出操作以“流(stream)”的方式进行。

java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据。

流的分类

操作数据单位:字节流、字符流

数据的流向:输入流、输出流

流的角色:节点流、处理流

节点流:直接从数据源或目的地读写数据。

节点流

处理流:不直接连接到数据源,而是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。

处理流

流的分类图示:

流的分类

IO流的体系结构

流的体系

流的体系

红色框为4个抽象基类,蓝色背景框为常用IO流

常用的几个IO流

抽象基类 节点流(或文件流) 缓冲流(处理流的一种)
InputStream FileInputStream BufferedInputStream
OutputSteam FileOutputStream BufferedOutputStream
Reader FileReader BufferedReader
Writer FileWriter BufferedWriter

对抽象基类的说明

抽象基类 字节流 字符流
输入流 InputSteam Reader
输出流 OutputSteam Writer

InputSteam & Reader

InputSteam:

Reader:

OutputSteam & Writer

OutputStream:

Writer:

输入、输出标准化过程

输入过程

  1. 创建File类的对象,指明读取的数据的来源。(要求此文件一定要存在)
  2. 创建相应的输入流,将File类的对象作为参数,传入流的构造器中
  3. 具体的读入过程:创建相应的byte[]char[]
  4. 关闭流资源

说明:程序中出现的异常需要使用try-catch-finally处理。

输出过程

  1. 创建File类的对象,指明写出的数据的位置。(不要求此文件一定要存在)
  2. 创建相应的输出流,将File类的对象作为参数,传入流的构造器中
  3. 具体的写出过程:write(char[] cbuffer, 0, len)write(byte[] buffer, 0, len)
  4. 关闭流资源

说明:程序中出现的异常需要使用try-catch-finally处理。

下篇文章,介绍节点流的使用。

上一篇 下一篇

猜你喜欢

热点阅读