文件
什么是文件?
针对硬盘这种持久化存储的I/O设备,当我们想要进行数据保存时,往往不是保存成一个整体,而是独立成一个个的单位进行保存,这个独立的单位就被抽象成文件的概念,就类似办公桌上的一份份真实的文件一般.
这便是一个个文件了, 文件除了有数据内容之外,还有一部分信息,例如文件名、文件类型、文件大小等, 这些信息不作为文件的数据而存在,我们把这部分信息视为文件的基本信息.
随着文件越来越多,对文件的系统管理也被提上了日程,如何进行文件的组织呢,一种合乎自然的想法出现了,就是按照层级结构进行组织 —— 也就是树形结构。这样,一种专门用来存放管理信息的特殊文件诞生了,也就是我们平时所谓文件夹或者目录的概念。
文件路径 (Path)
如何在文件系统中定位一个唯一的文件呢?
从树型结构的角度来看,树中的每个结点都可以被一条从根开始,一直到达的结点的路径所描述,而这种描述方式就被称为文件的绝对路径(absolute path)。
绝对路径为 : D:\网易加速器\Netease\UU
注意: 在 windows 上 \ 是路径分隔符, 我们在 idea 上得写成 / 或者 \ (后者是将字符 \ 转义了)
除了可以从根开始进行路径的描述,我们可以从任意结点出发,进行路径的描述,而这种描述方式就被称为相对路径(relative path),相对于当前所在结点的一条路径. (我们将开始的目录叫基准目录或工作目录)
举个例子 :
假设工作目录如下, 要找到 文档1, 则相对路径为: ./文档1
换一下工作目录, 同样的找到 文档1, 相对路径为: . ./文档1
再换一下, 相对路径为: ./2号目录/3号目录/文档1
注意 :
. 在相对路径中, 是一个特殊符号, 表示当前目录.
. .也是特殊符号, 表示当前目录的上一级目录.
相对路径一定要明确 工作目录(基准目录) 是哪里.
路径就相当于一个文件的 “身份标识”.
文本文件与二进制文件
文本文件
文本文件存储的是文本, 文本文件的内容都是由 ascii 或者其他字符集的字符构成的, 本质上存的是字符. (文本文件后缀有: .txt .java .c)
如果用记事本打开, 就会得到一堆有规律的字符.(最少看的懂)
二进制文件
二进制文件存储的是二进制数据, 也就是一个个字节, 没有任何字符集限制, 想存啥都行.
(二进制文件后缀有: .class .exe .jpg .mp3)
如果用记事本打开, 就会得到一堆毫无规律的乱码.
因为二进制文件存储的是一个个的字节, 记事本尝试将若干个字节的数据往utf8 里套, 套出来是什么就是什么, 套不出来就是方块.
注: 记事本默认是以文本文件形式打开.