1. 程式人生 > >java獲取路徑,檔名的方法總結

java獲取路徑,檔名的方法總結

1. 檔案路徑獲取

Thread.currentThread().getContextClassLoader().getResource(“”) //獲得資原始檔(.class檔案)所在路徑
ClassLoader.getSystemResource(“”)
ClassName.class.getClassLoader().getResource(“”)
ClassName.class .getResource(“/”)
ClassName.class .getResource(“”) // 獲得當前類所在路徑
System.getProperty(“user.dir”) // 獲得專案根目錄的絕對路徑
System.getProperty(“java.class.path”) //得到類路徑和包路徑

其中ClassName為類名。

2.檔名獲取

String fName =” D:\java\workspace\netmanager01\resources\mibfiles\wtView.mib “;
(“\”,java中需要轉義)
第一種:

    File tempFile =new File( fName .trim());  

    String fileName = tempFile.getName();     

第二種:

    fName = fName.trim();  
    fileName = fName.substring(fName.lastIndexOf("/")+1);  
    或者  
    fileName = fName.substring(fName.lastIndexOf("\\")+1);  

第三種:

    fName = fName.trim();  
    String temp[] = fName.split("\\\\"); //split裡面必須是正則表示式,"\\"的作用是對字串轉義,其中split("\\\\")的作用是:按照"\\"為分隔符,將路徑擷取,並存入陣列,如下:temp[]=[,D:,java,workspace,netmanager01,resources,mibfiles,wtView.mib]  
    fileName = temp[temp.length-1];(取出最後一個)  

3. JSP中獲得當前應用的相對路徑和絕對路徑

根目錄所對應的絕對路徑:request.getRequestURI()
檔案的絕對路徑:application.getRealPath(request.getRequestURI());
當前web應用的絕對路徑:application.getRealPath("/");
取得請求檔案的上層目錄:new File(application.getRealPath(request.getRequestURI())).getParent()

4.Servlet中獲得當前應用的相對路徑和絕對路徑

根目錄所對應的絕對路徑:request.getServletPath();
檔案的絕對路徑 :request.getSession().getServletContext().getRealPath(request.getRequestURI())
當前web應用的絕對路徑 :servletConfig.getServletContext().getRealPath("/");
ServletContext物件獲得幾種方式:
1.javax.servlet.http.HttpSession.getServletContext()
2.javax.servlet.jsp.PageContext.getServletContext()
3.javax.servlet.ServletConfig.getServletContext()