转载

乐字节Java之file、IO流基础知识和操作步骤

嗨喽,小乐又来了,今天要给大家送上的技术文章是Java重点知识-IO流。

先来看看IO流的思维导图吧。

乐字节Java之file、IO流基础知识和操作步骤

一、 File

在Java中,Everything is Object!所以在文件中,也不例外!在Java中,可以用 File类来表示一个与硬盘上文件联系!!!注意:

1、File仅代表一个联系,可能文件存在,也可能不存在;

2、这里的文件可以是文件,也可以是文件夹;

在常用类中已经详细讲过File,此处不在讲解

二、 IO流

1、流概念

流即流动、流向,从一端流向另一端。如水流:从山里流向到人家;车流:从公司流动到

家里;声音流:从发出者流动到对方的耳朵里。

文件流:从一端流动到另一端,即从java内存流动到存储介质中。存储介质包括:硬盘文件、数据库与网络等节点(数据源)。记住:一切以java内存为中心。

2、 数据源

data source. 提供原始数据的原始媒介。常见的:数据库、文件、其他程序、内存、网络连接、IO设备。

数据源就像水箱,流就像水管中流着的水流,程序就是我们最终的用户。 流是一个抽象、动态的概念,是一连串连续动态的数据集合。

乐字节Java之file、IO流基础知识和操作步骤

3、IO流分类

乐字节Java之file、IO流基础知识和操作步骤

由此可见,IO流很庞大,从不同角度进行分类

1)、数据分类

按处理数据单位分为:字节流和字符流。处理数据是音频、视频、doc、文本等一切为字节流,仅能处理文本的为字符流。 字节流和字符流的用法几乎完全一致,区别在于它们所操作的数据单元不同,字节流(8 位)、字符流(16 位),字节流主要由 InputStream 和OutputStream作为基类,字符流主要由Reader 和 Writer作为基类。

乐字节Java之file、IO流基础知识和操作步骤

2)、流向分类

输入流和输出流。从节点到 java 内存叫输入流,从 java 内存到节点叫输出流。Java 的输入流主要由InputStream和Reader作为基类,输出流主要由OutputStream和Writer作为基类。

乐字节Java之file、IO流基础知识和操作步骤

3)、功能分类

节点流和处理流。从/向一个特定的I/0设备(磁盘、网络等)读写数据的流称为节点流,也常被称为低级流。 处理流则对于一个已存在的节点流进行连接或封装,常被称为高级流(装饰器设计模式)。处理流为增强、提升性能的,本身不具备直接操作节点的能力。如扩音器,就是放大声音的。 节点流处于io操作的第一线,所有操作必须通过他们进行;处理流可以对其他流 进行处理(提高效率或操作灵活性).

处理流的功能主要体现在:

a、性能的提高:主要以增加缓冲的方式来提高输入/输出的效率 ;

b、操作的便捷:提供了系列便捷的方法来一次输入/输出大批量内容。

乐字节Java之file、IO流基础知识和操作步骤

4、重点掌握

乐字节Java之file、IO流基础知识和操作步骤

使用流抽象的概念,屏蔽了实际的 I/O设备中处理数据的细节。

5、操作 IO流的步骤

操作IO就跟搬家是同一个道理

乐字节Java之file、IO流基础知识和操作步骤

核心步骤如下

1)、建立联系

2)、选择流

3)、操作:写出 读取

4)、释放资源(程序中打开的文件 IO 资源不属于内存中的资源,垃圾回收无法回收,

需要显示关闭。)

好勒,关于IO流的概念和基础知识点就先讲到这,接下来请看IO流的主要内容:输入流和输出流。乐字节原创,请多关注乐字节。

原文  https://segmentfault.com/a/1190000019921946
正文到此结束
Loading...