个人技术分享

在这里,只介绍理论知识,不介绍代码。

目录

1.IO

1.1.字面概念

1.2.输入输出模型

2.文件

2.1.文件目录

2.2.文件路径

2.3.文件分类


1.IO

为了我们接下来学习的文件IO,所以我们先来认识什么是IO。

1.1.字面概念

(1)I,Input,表示输入

(2)O,Output,表示输出

那什么是输入、什么是输出,也是一种认为的规定,下面我们介绍

1.2.输入输出模型

任何的输入、输出操作,都是以CPU为参照的。

(1)远离CPU的操作,称为输出操作

(2)靠近CPU的操作,称为输入操作

(3)图示

什么意思呢?比如CPU中的数据到内存中,就是输出操作;内存中的数据加载到CPU中,就是输入操作。

2.文件

文件?文件夹?这里的文件是我们平时所说的文件吗?其实并不是。

上面的只是文件夹,不是真正的文件。

(1)广义上的文件是指:在操作系统中的各种软件资源、硬件资源都抽象成文件,如:网卡等

(2)而后面我们要介绍的文件,属于侠义上的,也就是指文件夹中的文件。如:.txt,.exe等等

2.1.文件目录

(1)其实文件目录也称为一种文件路径,根据这个路径一层一层往下走,最终会到达目标文件。

(2)举例

很明显它不是,为什么?点开就可以了

所以说,目录只是一种抽象的路径,并不是真正的文件

2.2.文件路径

一级一级的文件目录就构成了文件路径。

而路径又分成两种:绝对路径和相对路径。目录和目录之间,我们推荐使用/

(1)绝对路径

例如:D:\JavaCode\algorithm。一般是以什么盘开头的

下面这个就是绝对路径

(2)相对路径

相对路径的起点可以是任何的地点。比如从某个位置出发,达到最终目的文件的路径,称为相对路径。

相对路径有几种类别:在某一级目录上,找到某一个文件;最终文件在我们这一级目录的上一级目录里面

下面我们通过几个例子说明:

我们要找到一个叫:Java45的文件

绝对路径是这样的:D:\JavaCode\algorithm\Java45

相对路径的意思就是,从某一个位置开始,找到最终位置。

1)假设我们在algorithm这级目录上,绝对路径是:D:\JavaCode\algorithm

找到Java45的相对路径是:./Java45

.表示当前路径,也就是:D:\JavaCode\algorithm

2)假设我们在JavaCode这级目录上,也就是:D:\JavaCode

相对路径是:./algorithm/Java45

3)假设我们目标文件在上一级目录,绝对路径是:D:\JavaCode\algorithm\leetCode3

相对路径是:../Java45

..就是回到上一级目录

2.3.文件分类

(1)文本文件和二进制文件

文件一般分为文本文件和二进制文件。无论是哪一种文件,本质上都是属于二进制文件。辨别它们的一个简单粗暴的方法,就是可以看的懂得就是文本文件,看不懂得就是二进制文件。

(2)两种文件类

这里的文件类是什么呢?就是系统给我们提供的api,可以用来操作文件,比如:打开文件,写文件,删除文件等等操作。

第一种:针对文件系统进行操作

如:创建文件,删除文件,创建目录,重命名文件

第二种:针对文件内容进行操作

读文件、写文件(就是我们常说的操作文件,可以将数据保存在文件上)

而第二种文件操作,又分为两种:操作字节流和操作字符流,使用的都是不同的api。而在操作文件内容时,也是可以使用操作文件系统的类,也就是File