1. 程式人生 > >struts2中取得檔案的絕對路徑的方法

struts2中取得檔案的絕對路徑的方法

方法1:

[java] view plaincopyprint?
  1. ServletActionContext.getServletContext().getRealPath(File.separator);//專案根路徑如D:\xxx\專案名

這個方法如果在action的一般方法中執行沒問題可得到,但是放到static初始化中時就會報錯:

[java] view plaincopyprint?
  1. privatestatic String basePath;  
  2. static {  
  3.     basePath = ServletActionContext.getServletContext().getRealPath(File.separator);  
  4. }  

具體為什麼沒有研究出來

方法2:

[java] view plaincopyprint?
  1. basePath = ProductStage.class.getClassLoader().getResource("")  

得到的字串是形如:

D:/Java/Tomcat%206.0/webapps/專案名/WEB-INF/classes

而且如果路徑中包含空格的話會顯示為“%20”,要替換擷取得到想要的路徑如:

[java] view plaincopyprint?
  1. basePath = ProductStage.class.getClassLoader().getResource(
    "")