乐字节Java之fileIO流基础知识和操作步骤

Posted lotbyte

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了乐字节Java之fileIO流基础知识和操作步骤相关的知识,希望对你有一定的参考价值。

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

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

技术图片

一、 File

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

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

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

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

 

二、 IO流

1、流概念

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

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

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

2、 数据源

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

数据源就像水箱,流就像水管中流着的水流,程序就是我们最终的用户。 流是一个抽

象、动态的概念,是一连串连续动态的数据集合。

技术图片

3、IO流分类

技术图片

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

1)、数据分类

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

技术图片

2)、流向分类

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

技术图片

3)、功能分类

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

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

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

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

技术图片

4、重点掌握

技术图片

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

 

5、操作 IO流的步骤

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

技术图片

核心步骤如下

1)、建立联系

2)、选择流

3)、操作:写出 读取

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

需要显示关闭。)

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

以上是关于乐字节Java之fileIO流基础知识和操作步骤的主要内容,如果未能解决你的问题,请参考以下文章

乐字节-Java8新特性-接口默认方法之Stream流(下)

乐字节Java8核心特性之Optional类

乐字节Java变量与数据结构之二:Java常量与变量

乐字节Java反射之三:方法数组类加载器和类的生命周期

乐字节Java8核心特性实战之四:方法引用

乐字节-Java8新特性之Optional