使用过DOS命令的人都知道返回上层目录的命令是“cd ..”;使用过相对路径的人也知道“..”代表上层目录,“.”代表当前目录,一直以来我都以为这是固定的特殊命令,直到今天在编程遇到一个难题时,思考了一番后才发现并不是这样的。
当我们在命令提示符中输入DIR命令时,在返回的列表中可以看到两个特殊的文件夹,其名称分别为“.”和“..”,这两个特殊文件夹是每个文件夹中都隐含有的,显然,“.”代表当前文件夹,而“..”代表上一级文件夹。上面举的几个例子就是使用了这两个文件夹。
由于这两个文件夹在相对路径中使用较多,会给人一种假象,即它们只能在相对路径中使用(至少以前我是这么认为的)。其实不然,在绝对路径中仍然可以使用它们。例如,在我的电脑的地址栏中输入以下字符串"C:\Program Files\Internet Explorer\Connection Wizard\..\.."并按回车,会跳转到C:\Program Files文件夹下;而输入"C:\Program Files\Internet Explorer\.\."则维持在原来的文件夹中。
除此之外,这两个特殊文件夹还能用在URL上。例如,使用迅雷等下载工具下载
这个文件,是可以成功下载的。这个文件的实际URL是http://www.java3z.com/cwbwebhome/css/index.css。
在某些时候,如果我们要提取一个网页中的CSS文件或脚本文件,这些文件可能会以相对路径的形式记录在页面的HTML文件中,例如上面提到的这个CSS文件在HTML文件中是这样的:
只要把页面的路径跟href属性中的路径结合起来,就可以提取到这个文件了,非常方便,不需要做很多复杂的工作。