Java中的IO操作(1)

2019-10-24  本文已影响0人  仲伦

1、概述

在上一节中,我们系统学习了File类,并且已经知道File类的实例用于表示文件或目录的路径名

虽然我们可以通过File实例来访问文件或目录的元数据,甚至可以创建、删除文件或目录,但是,我们却不能通过File实例来访问文件中存储的内容,本节主要研究通过流来读写数据。

为了能够 读取文件中的内容 或者 向文件中写入内容 ,就需要用到文件输入流或文件输出流,本节将系统讲解通过完成对文件内容的读取和写入操作。

但千万不要认为我们只能从文件中读取数据或向文件中写入数据,在网络编程部分我们将会学习如何通过 Java 程序从网络上读取数据和向网络发送数据。

2、流

在 Java 语言中,将够 读取数据 或者 写出数据 的对象抽象为

类似于生活当中的 水管 可以在 水管定向移动,正如 数据 可以在 中定向移动。

在 Java 传统的 IO 体系种,所有的 流 对应的类型都扩展自四个抽象类:

四个抽象基类

其中的 InputStreamOutputStream 的子类表示字节流,ReaderWriter的子类则表示字符流。

这里所提及的 Stream 一词均表示,请不要与 java.util.stream.Stream 接口混为一谈。

3、分类

Java中传统的I/O体系可以按照不同的方式对流进行分类:

节点流 和 包装流 的关系如下图所示:

节点流和包装流

这里的 IO节点 就是前文所提到的 数据节点,它可以是 磁盘上的文件、键盘输入、控制台输出、网络 等。

上一篇 下一篇

猜你喜欢

热点阅读