当前路径怎么写( 二 )


假若要在Ref.htm文件中引用BeRef.gif文件时,其相对路径如下:
./SubDir2/BeRef.gif
上面的引用路径中,"."代表目前的目录(Dir1),所以"./SubDir2"代表目前目录下的SubDir2 。其实,也可以省略"./"直接用下这个方式引用 。
SubDir2/BeRef.gif
若使用绝对路径以根目录为参考点引用该文件时,引用路径如下:
/Dir1/SubDir2/BeRef.gif
如果Web站点的目录之结构如下图时
引用BeRef.gif文件的相对路径又是如何呢?
假若要在Ref.htm文件中引用BeRef.gif文件时其相对路径如下:
../SubDir2/BeRef.gif
上面的引用路径中,".."代表上一层目录,所以,/Dir2"代表上一层目录下的Dir2子目录 。若使用绝对路径引用时,则引用路径如下:
/Dir2/BeRer.gif
我们再举一个比较复杂的例子,来比较一下相对路径与绝对路径的使用 。假设在读者所建立之Web站点中,拥有如下图的目录路径 。
我们用以一个表格来说明在上图的情况下,某文件引用另一文件时,所应使用的相对路径与绝对路径 。
引用者
被引用者
相对路径
绝对路径
Ref1.htm
BeRef1.gif
../SubDir2/BeRef1.gif
/Dir1/SubDir2/BeRef1.gif
Ref2.htm
BeRef1.gif
../../Dir1/SubDir2/ BeRef1.gif
/Dir1/SubDir2/ BeRef1.gif
Ref1.htm
BeRef2.htm
../../Dir2/ BeRef2.htm
/Dir2/BeRef2.htm
Ref2.htm
BeRef2.htm
../BeRef2.htm
/Dir2/BeRef2.htm
上表中比较需要说明的是"../../"所代表的意义 。
".."代表上一层目录,而"../../"所代表的是上一层目录的上一层目录 。所以,从上表中可以看出,如果引用的文件存在于目前目录的子目录中,或者存在于上一层目录的
另一个子目录中,运用相对路径是比较方便的 。如果不是时,则干脆利用绝对路径,还比较省事 。从上表中,亦可以看出,当被引用的是同一个文件时,引用文件所使用的绝对路径是一样的 。
5.获取文件夹下的一个文件路径怎么写File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如file.getAbsolutePath()其中file是File的实例对象 。下面是一个具体例子:
public class PathTest
{
public static void main(String[] args)
{
File file = new File(".\\src\\baidu");
System.out.println(file.getAbsolutePath());
try
{
System.out.println(file.getCanonicalPath());
} catch (IOException e)
{
e.printStackTrace();
}
}
}
getAbsolutePath()和getCanonicalPath()的不同之处在于,getCanonicalPath()得到的是一个规范的路径,而getAbsolutePath()是用构造File对象的路径+当前工作目录 。例如在上面的例子中.(点号)代表当前目录 。getCanonicalPath()就会把它解析为当前目录但是getAbsolutePath()会把它解析成为目录名字(目录名字是点号) 。
下面是上面程序在我电脑上的输出:
G:\xhuoj\konw\.\src\baidu
G:\xhuoj\konw\src\baidu

当前路径怎么写

文章插图