嗨喽,小乐又来了,今天要给大家送上的技术文章是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流的主要内容:输入流和输出流。乐字节原创,请多关注乐字节。

最新文章

  1. 自定义配置UEditor 工具栏上的按钮列表
  2. navicat连接虚拟机(centos)中的mysql
  3. 韩国网页设计资料《网页设计大师2》JPG+PSD+TXT等 73.89G 百度云下载
  4. PHP一个典型的闭包实例
  5. Java API —— 多线程
  6. 解释型语言和编译型语言的不同以及Python如何运行
  7. 无聊时,可以去HASKELL里找点感觉
  8. 实现怎样支持Android重力感应器Sensor编程
  9. javascript面向对象创建高级 Web 应用程序
  10. python去掉html标签
  11. webkit 子资源加载过程
  12. openlayer的凸包算法实现
  13. MongoDB学习教程(1)
  14. SQL Server中的变更捕获技术--简单部署
  15. Linux中查看进程树
  16. SQL Server 创建服务器和数据库级别审计
  17. [SQL]LeetCode181. 超过经理收入的员工 | Employees Earning More Than Their Managers
  18. Java开发知识之Java的异常处理
  19. 2-1 如何抓不同的接口(手机抓包,web网页抓包)
  20. 探索未知种族之osg类生物---呼吸分解之更新循环一

热门文章

  1. P1088 火星人——全排列函数
  2. SSH如何使用
  3. 第06组 Alpha冲刺(1/6)
  4. 2019SDN课程阅读作业(2)
  5. SPM(Software Project Management)课程感想
  6. Visual Studio、.NET Framework、VC++、C#各个版本的对应关系
  7. adc0和adc1
  8. PHP 对象继承
  9. 谷歌官方 构建您的第一个应用 Kotlin版
  10. Android输入法遮挡了输入框,使用android:fitsSystemWindows="true"后界面顶部出现白条解决方案