以项目名为myTest,当前类名为test(其中package com.sun.app),test.txt为test同目录下为例:
全路径:
1.当前类test.class文件的URI目录
URL url = test.class.getResource("");
System.out.println(url);
输出: file:/D:/WorkSpace/myTest/WebRoot/WEB-INF/classes/com/sun/app/
2.当前的classpath的绝对URI路径
a) URL url = test.class.getResource("/");
System.out.println(url);
输出: file:/D:/WorkSpace/myTest/WebRoot/WEB-INF/classes/
b) URL url = Thread.currentThread().getContextClassLoader().getResource("");
System.out.println(url);
输出:file:/D:/WorkSpace/myTest/WebRoot/WEB-INF/classes/
c) URL url = test.class.getClassLoader().getResource("");
System.out.println(url);
输出:file:/D:/WorkSpace/myTest/WebRoot/WEB-INF/classes/
3.相对路径
String relativelyPath=System.getProperty("user.dir");
输出: D:/WorkSpace/myTest
4.获取当前文件所在目录下文件
a) URL url = test.class.getResource("test.txt");
try {
InputStream in2 = url.openStream();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
b)类加载目录的获得
InputStream is2=test.class.getResourceAsStream("test.txt");