●
在一个应用中(即一个项目中)定位到某个资源:
在JSP页面中通过getServletContext().getRealPath (filename);通过这个方法只能得到的是该应用下的某个资源。filename前要加“/”,如果filename为””则得到当前应用的根目录。(针对tomcat webapps/TestProject
à
这里TestProject就是一个应用的名称,如果在JSP中通过getServletContext().getRealPath(
“”
)
将得到========
è
.../TestProject
)
在应用中filename可以是针对应用目录的相对路径。
getServletContext().getResourceAsStream("/file "),
该文件起始目录是在这个应用的目录下开始的。
try
{
InputStream in = getServletContext().getResourceAsStream(
"/file.txt"
);
String file =
""
;
String temp =
""
;
BufferedReader buffer =
new
BufferedReader(
new
InputStreamReader(
new
BufferedInputStream(in)));
while
((temp=buffer.readLine())!=
null
){
file += temp;
}
buffer.close();
in.close();
out
.print(file);
out
.flush();
}
catch
(Exception ex){
ex.printStackTrace();
}
●
根据类装载的位置来得到资源
类名称.class.getResource(filename).getPath();该方式能够到JVM针对该类装载的根目录下的所有资源。filename前要加“/”,filename可以是针对类装载的根目录的相对目录。
try{
InputStream in =this.getClass.getResourceAsStream("formate.txt");
String file ="";
String temp = "";
BufferedReader buffer = new BufferedReader(new InputStreamReader(new BufferedInputStream(in)));
while((temp=buffer.readLine())!=null){
file += temp;
}
buffer.close();
in.close();
System.out.println(file);
}catch(Exception ex){
ex.printStackTrace();
}
●
根据绝对路径来直接得到某资源
try{
String file ="";
String temp = "";
BufferedReader buffer = new BufferedReader(new FileReader("D:/filename"));
while((temp=buffer.readLine())!=null){
file += temp;
}
buffer.close();
System.out.println(file);
}catch(Exception ex){
ex.printStackTrace();
}