1.绝对路径
a.带盘符,如E:/book.xml
b.以http开头,http://img.baidu.com/img/book.jpg
2.相对路径
a.带"/"开头,如/book.xml
b.不带"/"开头,如book.xml
现在项目结构如下,在ParseXML类中操作,我实验项目System.getProperty("user.dir")=E:\ProjectTest\javaEE\
绝对路径:
new File("E:/ProjectTest/javaEE/src/com/ly/javaee/xml/dom4j/book.xml")---OK
相对路径
new File("book.xml")----报错(此时相当于System.getProperty("user.dir")+"book.xml",这是文件book.xml不存在user.dir下面)
new File("src/com/ly/javaee/xml/dom4j/book.xml")----OK(不带"/" 可见在项目中相对的是以项目名为根路径,此时相当于System.getProperty("user.dir")+"src/com/ly/javaee/xml/dom4j/book.xml")
new File("/book.xml")----以下可以看出本JVM运行在E盘下,此时带"/"就相当于"E:/book.xml",JVM运行在哪个盘符就以哪个为根路径
new File("./book.xml");---报错(同new File("book.xml")效果)
book.xml真实文件路径如下Location
PS:同样,如果运行的时候,切换到其他目录了,那么就是相应的目录,例如:
C:\Documents and Settings\sundl------这时,user.dir是C:\Documents and Settings\sundl
C:\Documents and Settings\sundl>D:----dos下切换盘符(盘符名+:)
D:\>cd workspaces\Html
D:\workspaces\Html>java Test------这时,user.dir就成了D:\workspaces\Html