●???
在一個應用中(即一個項目中)定位到某個資源:
在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();
}
●???
根據(jù)類裝載的位置來得到資源
類名稱.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();
}
●???
根據(jù)絕對路徑來直接得到某資源
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();
?
?}