[NIO.2] 第一篇 什么是文件路径?

在文件系统中,将会以某种方式在一个或多个硬盘驱动器上存放文件,以便查找。大多数文件系统都是以树形结构来存储文件。树的最顶层节点叫做根节点。根节点下可以包含文件和子目录,子目录下又可以包含文件和子目录,以此循环下去。

什么是文件路径?

下图展示了一个简单的包含根节点的目录树。Windows 系统支持多个根节点,每个根节点表示一个磁盘分区,例如 C:\ 或 D:\。而 *nix 系统只支持一个根节点,根节点由正斜线表示:/。

[NIO.2] 第一篇 什么是文件路径?

在文件系统中,每个文件都由唯一的文件路径来标识,并且都开始于根目录,在 *nix 系统中文件路径是:

/home/sally/statusReport

在 Windows 系统中文件路径是:

C:\home\sally\statusReport

用来分隔子目录之间的分隔符各个系统之间各不相同,在 *nix 中使用正斜线(/),在 Windows 系统中使用反斜线(\)。

相对路径和绝对路径

文件路径分为相对路径和绝对路径。绝对路径总是包含根节点并且包含了能够定位到文件的所有目录信息。例如 /home/sally/statusReport 就是一个绝对路径。

相对路径必须要和另外一个路径拼接才能定位到文件,例如 joe/foo 就是一个相对路径。如果没有更多的信息的话,相对路径不能准确地定位到文件。

符号链接/软链接(Symbolic Links)

文件系统中最典型的对象是文件和目录。但是在有的文件系统中还提供了符号链接,符号链接也叫做软链接。

一个符号链接是一个特殊的文件,它指向另一个目标文件。大多数情况下,对与应用程序来说,符号链接都是透明的,所有对符号链接的操作都会自动执行到目标文件上。例外的情况是,当对符号链接进行重命名或删除操作的时候,只会重命名和删除符号链接本身,而不会影响到目标文件。

对于用户来说,符号链接是透明的,对符号链接进行读写操作相当于对目标文件进行读写操作。

大多数文件系统都允许自有地使用符号链接。在创建符号链接的时候要小心循环引用。循环引用是指链接的目标文件最终又指向了原始的链接。例如,目录 a 指向目录 b ,目录 b 指向目录 c ,c 下面有子文件夹又指向目录 a。当程序在递归目录结构的时候,循环引用可能会造成很严重的问题。

文章来源: http://www.aptusource.org/2014/03/what-is-path/

你可能感兴趣的:(java,文件路径)