Java中使用的路径分为两张:绝对路径,相对路径。归根结底,Java本质上只能使用绝对路径来寻找资源。所有的相对路径寻找资源的方法,都不过是一些便利方法。不过是API在底层帮助我们构建了绝对路径,从而找到资源的!
相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在
Servlet中,”/”代表Web应用的根目录。和物理路径的相对表示。例如:”. /” 代表当前目录,
“../”代表上级目录。这种类似的表示,也是属于相对路径。
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个
URL绝对路径。
//Class文件所在路径
System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));
file:/C:/Users/Administrator/Workspaces/MyEclipse%20Professional/test/bin/
System.out.println(test.class.getClassLoader().getResource(""));
file:/C:/Users/Administrator/Workspaces/MyEclipse%20Professional/test/bin/
System.out.println(ClassLoader.getSystemResource(""));
file:/C:/Users/Administrator/Workspaces/MyEclipse%20Professional/test/bin/
System.out.println(test.class.getResource(""));
file:/C:/Users/Administrator/Workspaces/MyEclipse%20Professional/test/bin/com/test/
System.out.println(test.class.getResource("/"));
file:/C:/Users/Administrator/Workspaces/MyEclipse%20Professional/test/bin/
System.out.println(new File("/").getAbsolutePath());
C:\
System.out.println(System.getProperty("user.dir"));
路径问题可自行调试,此处不再赘述。C:\Users\Administrator\Workspaces\MyEclipse Professional\test