getResourceAsStream:查找具有给定名称的资源。返回 inputstream
getResource:查找带有给定名称的资源路径。返回URL
简单示例:(注:任何一个类都有一个getClass()的方法)
public class Test { public void getResource(String url){ InputStream stream = getClass().getResourceAsStream(url); System.out.println(getClass().getResource(url)); byte[] line = new byte[1024*1024]; try { stream.read(line); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } String str = new String(line); System.out.println(str.trim()); } public static void main(String[] args) { new Test().getResource("/io/aaa.txt"); } } 运行结果: file:/D:/IBM/workspace/HtmlParser/io/aaa.txt abceefghijklmn 第一行得到的是aaa.txt的路径,第二行是aaa.txt的内容。 需要注意的是必须有前面的“/”,代表的是工程目录,否则找不到。
1.可以在servlet的init方法里
String path = getServletContext().getRealPath("/");
这将获取web项目的全路径
例如 :E:/eclipseM9/workspace/tree/
tree是我web项目的根目录
2.你也可以随时在任意的class里调用
this.getClass().getClassLoader().getResource("/").getPath();
这将获取 到classes目录的全路径
例如 : E:/eclipseM9/workspace/tree/WEB-INF/classes/
这个方法也可以在web环境里确定路径,比较好用
3.request.getContextPath();
获得web根的上下文环境
如 /tree
tree是我的web项目的root context
|