一、引言
(1)解释:
i:input (输入)
o:output (输出)
(2)图解
注意:
1、Xxx 这个程序一旦在桌面关闭掉了,也就是运行完了,就会被内存释放掉,这个空间一旦被释放掉就可被其它程序占用,而硬盘是永久性存储。
2、之前 Java 我们学了很多变量、数组、集合,这里面的数据都是存在程序所在的进程空间中,是在内存里的,所以只要我们程序运行完了,这里面的数据就丢失了,因为内存已经释放掉了
(3)‘IO 管道’
所以当我们在程序的运行过程中,有些数据很重要,因为存在内存里程序一结束就没了,所以类似于能不能把一些变量的值将它存放到硬盘里呢?比如在硬盘中有个 data.txt 文本文件,把我们变量的值存放在这里面。就和 MySQL 中的表一样,它里面的表也是存在电脑硬盘的文件里的。
我想把内存的数据和硬盘的数据建立连接,也就是架设一个管道,那只要打通这个管道,它们之间的数据就会流动,而这个管道就是我们今天学习的 IO 流 ,那我们的电脑中真的有这个管道吗?不,它是一个虚拟的,是我们为了形象可观化而出现的一个东西,我们是想象有一个管道,真正的硬件上是没有的。而我们的数据库你在表中的数据,它也是一样通过 IO 流 自动的写到我们的硬盘的文件上。所以我想实现数据之间的读写,就必定要用到 IO 流 这样的操作,所以接下来就要讲到程序、文件之间的相关操作了。
二、关于 File
为什么我们讲到 IO 流 这个管道会用到 File 类?File 的意思表示文件,为什么会有这个类,因为JAVA 的世界叫做万物皆对象,现实中有这个东西,JAVA 中就有一个对象和它对应。当我们打开电脑中硬盘,它里面无非就是大部分由文件和文件夹组成的,那这里既然有文件和文件夹,JAVA 中也就一定有一个类或者对象相对应,这个 File 类 就对应着文件和文件夹。对硬盘的数据与程序中的数据就会涉及到文件和文件夹,所以就有 IO 流。